在我的 qt C++ gui 应用程序中,我有一个带有 3 个按钮和一些标准功能的 QMessageBox。我想用样式表和字体来装饰所有这些,什么不是。
我能够成功地做到以下几点 -
一世。设置 MessageBox 背景。
ii. 设置按钮背景。
void MainWindow::on_pushButton_clicked()
{
QMessageBox msgbox;
msgbox.setInformativeText("YOLO");
msgbox.setStandardButtons(QMessageBox::Ok|QMessageBox::No|QMessageBox::Cancel);
msgbox.setWindowFlags(Qt::FramelessWindowHint);
msgbox.setStyleSheet("QMessageBox { background-image: url(:/res/bk.jpg) }");
msgbox.button(QMessageBox::Ok)->setStyleSheet("QPushButton { background-image: url(:/res/green_bk.jpg) }");
msgbox.button(QMessageBox::No)->setStyleSheet("QPushButton { background-image: url(:/res/red_bk.jpeg) }");
msgbox.exec();
}
但我被困在如何为 InformativeText 字段设置字体(类型和大小),以及如何使其粗体。我已经提到了InformativeText 属性,但我无法解决问题。关于如何实现这一目标的任何想法?谢谢。
作为附加查询,我可以更改按钮的字体(类型和大小)并设置粗斜体等吗?
编辑
我对我的代码进行了以下更改,结果令人费解,
QFont font;
font.setBold(true);
msgbox.setFont(font);
这样做之后,我的信息文本变成了粗体,我的取消按钮变成了粗体。但是 Ok 和 No 按钮是正常的(非粗体)。如果我删除了两个按钮的 setStylesheets,那么它们才会变得粗体(这是没用的,因为我想要背景图像)。
有什么想法可以在所有这些方面产生协同作用???