繁体   English   中英

如何更改 Qt 中 QMessageBox 的字体?

[英]How to change font of a QMessageBox in Qt?

我试图用QComboBoxQPushButton构建一个简单的应用程序。 这个想法是用系统中所有可用 fonts 的列表填充QComboBox 当用户选择一种字体并按下QPushButton时,会出现一个带有所选字体的QMessageBox 现在该怎么做?

解决方案是使用QMessageBoxsetFont()方法

QMessageBox *msg = new QMessageBox(QMessageBox::Information, "Message with font",
                         "This message is in font: " + ui->comboBox->currentText(),
                          QMessageBox::Ok | QMessageBox::Cancel, this);
QFont font = QFont(ui->comboBox->currentText());
msg->setFont(font);
msg->exec();

comboboxQComboBox使用的地方。

将文本设置为消息框标签时,可以使用基本HTML标记 QLabel支持的标记包括<font> 。此方法还允许更多样化的格式。

如前所述,您可以在 Html 块中使用 styles (在我的示例中,将 styl 添加到段落中):

QMessageBox.about(
    self,
    "About",
    "<font>"
    "<p style='font-family: Terminal'>An simple app.</p>"
    "<p style='font-family: Georgia, 'Times New Roman'>- PyQt</p>"
    "<p>- Qt Designer</p>"
    "<p>- Python3</p>",
)

结果: QMessageBox

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM