【问题标题】:Does html font size not work in informative text in QMessageBox?html 字体大小在 QMessageBox 中的信息文本中不起作用吗?
【发布时间】:2018-02-11 17:44:49
【问题描述】:

QMessageBox 的信息文本可以格式化为富文本,我知道在这种情况下,html 标记是允许的富文本。但是,size 属性似乎没有按预期工作。使用时,QMessageBox 信息文本的大小比正常的大,但具体的值似乎没有效果(尽管属性 color & 标签似乎按预期工作)。这是输出:

有没有办法在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 位)

【问题讨论】:

    标签: html c++ qt qt5 qmessagebox


    【解决方案1】:

    您必须使用: 而不是=:。您必须将font-size 放在相关&lt;p&gt; 标记的样式属性中。并且您必须指定字体大小单位(例如,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();
    

    【讨论】:

    • @Alexis 我认为图像的大小无助于可视化字体之间的大小差异
    猜你喜欢
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    相关资源
    最近更新 更多