文本中间的 Css 使"n"不起作用

Css in middle of a text makes " " not work

本文关键字:不起作用 中间 Css 文本      更新时间:2023-10-16

我正在Qt 4.8上制作一个GUI应用程序。我有一个标签,我用白色显示文本(我已经为它设置了样式表),我想把单词UPDATE的颜色改为红色。

初始代码:

//all text in white
QString text(QString::fromUtf8("  Are you sure you want to UPDATE this?n Something will happen."));
myLabel->setText(text);

要改变这个词的颜色,我知道它可以用这样的css:

//all text in white except UPDATE that will be in red 
QString text(QString::fromUtf8("  Are you sure you want to<font color="#f00">UPDATE</font> this?n Something will happen."));
myLabel->setText(text);

是的,它有效…但是有一个问题:如果你看到单词"this?"后面有一个"n",它把这条线分成了两部分。在第一种情况下效果很好但是当我把css放到第二种情况下程序就会忽略'n'我需要在这里做分隔在那个标签中(我不能使用两个标签)

我试过用:

分隔它
QString text(QString::fromUtf8("Are you sure you want to"));
        text.append(QString::fromUtf8("<font color="#f00">UPDATE</font>"));
        text.append(QString::fromUtf8("this?n Something will happen."));

但我得到了相同的结果…

知道我做错了什么,我错过了什么,或者我该如何解决这个问题吗?

非常感谢!

添加HTML标签使标签的文本格式检测检测HTML/富文本,并相应地解释和呈现字符串。在呈现富文本时,换行符不起作用,这在HTML中是常见的。

您需要将n替换为<br/>以强制执行新行