我试图使用QComboBox
和QPushButton
构建一个简单的应用程序。想法是将系统中所有可用字体的列表填充到QComboBox
中。当用户选择一个字体并按下QPushButton
时,会出现一个带有所选字体的QMessageBox
。那么如何实现呢?
我试图使用QComboBox
和QPushButton
构建一个简单的应用程序。想法是将系统中所有可用字体的列表填充到QComboBox
中。当用户选择一个字体并按下QPushButton
时,会出现一个带有所选字体的QMessageBox
。那么如何实现呢?
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块中使用样式(例如在段落中添加样式):
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