当使用填充一些 html 文本的 QLabel 元素时,我遇到了一个问题:它不只是呈现 HTML,它会在 html 文本周围插入一些空间。
以下呈现正常:
A simple text!
以下失败:
A <strong>HTML</strong> text!
实际上,Qt 渲染一切正常,但我的文本中总是有 html,我的文本周围有一些空间,但是,在我的应用程序中,这个空间成为一个真正的问题。我尝试过的所有 CSS 都失败了,也许我只是不知道设置样式的确切方法。
您是否使用setText()函数设置文本?如果您QString
在参数中传递包含富文本的a,setText()
则应该呈现富文本。如果没有,您可以尝试将QLabel
's textFormat设置为Qt::RichText
.
我刚刚尝试了这段代码,它正在工作。
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("<strong>Hello</strong> "
"<font color=red>Wanderson !");
label->show();
return app.exec();
}