我正在学习如何在 Qt 编程中使用 html 和 css,我想使用它来更改按钮的文本:
ui->pushButton->setText("<b>chert</b>");
但它无法正常工作。 html 标签对其没有影响。 我怎样才能让它工作?!
谢谢:)
最佳答案
作为解决方法,您可以使用标签或文本文档来打印所需的文本。您应该将其绘制到像素图并在按钮上使用该像素图:
QTextDocument doc;
doc.setHtml("<b>chert</b>");
doc.setTextWidth(doc.size().width());
QPixmap pixmap(doc.size().width(), doc.size().height());
pixmap.fill( Qt::transparent );
QPainter painter(&pixmap);
doc.drawContents(&painter);
button->setIconSize(pixmap.size());
button->setIcon(pixmap);
实现此目的的另一种方法是从 QPushButton
派生并通过 paintEvent
中的 QPainter
自行绘制文本。您可以找到富文本按钮实现 here .
您还可以使用QxtPushButton来自 libqxt 的类。 QxtPushButton
小部件是一个扩展的 QPushButton,具有旋转和富文本支持。
关于html 标签在 Qt 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29063377/