[英]How to change font of a QMessageBox in Qt?
我试图用QComboBox
和QPushButton
构建一个简单的应用程序。 这个想法是用系统中所有可用 fonts 的列表填充QComboBox
。 当用户选择一种字体并按下QPushButton
时,会出现一个带有所选字体的QMessageBox
。 现在该怎么做?
解决方案是使用QMessageBox
的setFont()
方法
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();
combobox
是QComboBox
使用的地方。
将文本设置为消息框标签时,可以使用基本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.