html字体大小在QMessageBox中的信息文本中不起作用吗?

时间:2018-02-11 17:44:49

标签: html c++ qt qt5 qmessagebox

QMessageBox的信息文本可以格式化为富文本,我理解html < font>< / font> 标记在此上下文中是允许的富文本。但是,大小属性似乎无法按预期工作。使用时,QMessageBox信息文本的大小比正常大,但特定值似乎没有效果(即使属性颜色< i> & < b> 标签似乎按预期工作)。这是输出:

QMessageBox seems insensitive to font tag's size attribute

有没有办法在QMessageBox的信息文本中指定html(或rtf)标记中的字体大小?

void MainWindow::about()
{
    QMessageBox msgAbout;
    msgAbout.setInformativeText("<span style='text-align: center'><p><b><font size = 20 color = red><i>Supposedly</i> set in 30pt font</font><p><font size = 20 color = blue><i>Rumoredly</i> set in 20pt font</font><p><font size = 10 color = green><i>Putatively</i> set in 10pt font</font><p>Proud not to use the &lt;font&gt; tag!</span><p>");
    msgAbout.setStandardButtons(QMessageBox::Ok);
    msgAbout.setDefaultButton(QMessageBox::Ok);
    msgAbout.exec();
}

macOS 10.13.3
Qt Creator 4.5基于Qt 5.10.0(Clang 7.0(Apple),64位)

1 个答案:

答案 0 :(得分:2)

您必须使用:代替=:您必须将font-size放在相关<p>代码的样式属性中。您必须指定字体大小单位(例如,12pt)。

QMessageBox msgAbout;
msgAbout.setInformativeText("<span style='text-align: center'><p style='font-size: 30pt; color: red'><b><i>Supposedly</i> set in 30pt font</p><p style='font-size: 20pt; color: blue'><i>Rumoredly</i> set in 20pt font</p><p style='font-size: 10pt; color: green'><i>Putatively</i> set in 10pt font</p><p>Proud not to specify font-size attributes!</span><p>");
msgAbout.setStandardButtons(QMessageBox::Ok);
msgAbout.setDefaultButton(QMessageBox::Ok);
msgAbout.exec();

enter image description here

相关问题