无法更改 QMessageBox 中的字体。我做什么:在 .h 文件中声明
QMessageBox *qMessageBox;
.c 构造函数中的文件我执行以下操作
qMessageBox = new(QMessageBox);
id = QFontDatabase::addApplicationFont("/usr/share/fonts/dejavu/DejaVuSansMono.ttf");
font = QFont(QFontDatabase::applicationFontFamilies(id).first());
font.setPointSize(8);
qMessageBox->setFont(font);
我输出一条消息:
void StateBalanser::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
qMessageBox->information(this,"информация о состоянии","номер");
}
当我显示消息时,我看到文本没有改变。
您正在调用一个静态方法,该方法创建一个
QMessageBox
对字体设置一无所知的新实例。让你的实例
qMessageBox
成为一种方法exec()
——得到你想要的