我想要写一个单一的,红色粗体我的应用程序使用Qt线。

据我了解,我将创建一个QLabel,它的textFormat设置丰富的文本,并赋予它丰富的文本字符串显示:

QLabel *warning = new QLabel;
warning->setTextFormat(Qt::RichText);
warning->setText("{\\rtf1\\ansi\\ansicpg1252 {\\fonttbl\\f0\\fswiss\\fcharset0 Helvetica;} {\\colortbl;\\red255\\green0\\blue0;} \\f0 \\cf0 this is bold red text}");

我测试在富文本编辑器这种丰富文本字符串,并将其显示细

但Qt的显示整个字符串的所有括号,关键词和反斜杠,而不是“这是红色粗体文字”。我在做什么错了?

感谢您的帮助。

有帮助吗?

解决方案

尝试使用HTML格式:<b><font... etc </b>

Qt设计做这样的:<span style=" font-size:8pt; font-weight:600; color:#aa0000;">TextLabel</span>

其他提示

可以使用 Qt的样式表和设置styleSheetQLabel属性

warning->setStyleSheet("font-weight: bold; color: red");

Qt支持在其QWidget派生类最CSS样式。你并不需要设置文本格式Qt::RichText为此工作。

Qt使用一个简单的 HTML子集以格式化。

您也可以做到这一点编程方式使用settext功能。是这样的:

QString labelText = "<P><b><i><FONT COLOR='#ff0000' FONT SIZE = 4>";
labelText .append(Text what u want to display);
labelText .append("</i></b></P></br>");
QLabel label->setText(labelText);

可以做到这一点在一个单一的线路,以及

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top