Qt5.9.9不能设置字体颜色为红色

Qt5.9.9不能设置字体颜色为红色,第1张

可能是 *** 作方法不对。QT中的字体有时需要在程序中进行动态的设置。其中字体和颜色是分开设置的。设置字体主要使用的是QFont对象,设置颜色主要使用的是QPalette(调色板)来进行。

在Qt开发中,对于QString我们有时会遇到这样的需求,即在同一个字符串中,设置不同的颜色。

QString str1 = QString("<font color=black>%1").arg(QString::fromWCharArray(L"字符串1");

QString str2 = QString("<font color=blue>%1").arg(QString::fromWCharArray(L"字符串2"))

......

QString str = str1 + str2 + str3 + .......

通过上述设置就可以了,如果我们还想在字符串中间换行,此时加上"\n"是没有效果的,因为我们在用html的格式来设置字符串的样式。我们可以通过添加<br>就可以实现换行,如下:

QString strTemp = QString("<br><font color=red >%1").arg(QString::fromWCharArray(L"字符串"))//与上一行换行

Qt改变界面文字有很多方法(下面以Label控件为例):

1.通过Qt Creater:

拖一个Label到窗体上,对着Label右键->改变多信息文本...,里面就可以修改Label的内容、颜色、字体样式等等。

2.通过代码:

QLabel *label = new QLabel("Hello World!") //新建一个显示"Hello World"的Label

//使用setPalette()方法改变颜色

QPalette pt

pt.setColor(QPalette::WindowText, Qt::red) //设置为红色

label->setPalette(pt)

    

//使用setFont()方法改变字体样式

QFont font("Microsoft YaHei", 12,75) //设置为微软雅黑,字体12号,加粗

/*常见权重(第三个参数):

QFont::Light - 25        高亮

QFont::Normal - 50    正常

QFont::DemiBold - 63  半粗体

QFont::Bold - 75        粗体

QFont::Black - 87       黑体*/

    

label->setFont(font)

    

//使用样式表改变颜色

label->setStyleSheet("color:blue") //设置为蓝色

    

//使用简单的HTML样式改变颜色和样式

QLabel *label2 = new QLabel("<h2><i>Hello</i>"

                "<font color=red>World!</font></h2>")

参考资料:CSDN 《C++ GUI Qt 4编程》


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6560690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-24
下一篇 2023-03-24

发表评论

登录后才能评论

评论列表(0条)

保存