2

如何在 Qt 中为某个 QMessageBox 设置特定样式。特别是,我想通过为文本“做得好!!!”设置字体大小和颜色来调用下面写的消息框。

QMessageBox::information(this, "Done", "Well done!!!");
4

3 回答 3

2

使用这种静态方法,您不能直接访问 QMessageBox,因为它完全在函数内部创建和销毁。但是您可以在调用此函数之前尝试更改调用对象的样式表属性。这意味着调用对象应该是 QWidget 的后代......

像这样的东西:

QString tmpStyleSheet=this->styleSheet();
this->setStyleSheet("style sheet for your QMessageBox");
QMessageBox::information(this, "Done", "Well done!!!");
this->setStyleSheet(tmpStyleSheet);

QMessageBox 的样式将继承父的样式...

于 2010-12-23T16:50:42.423 回答
1

我已经用 HTML 代码格式化了 QMessageBox 的文本。对不起这个问题。并感谢您的回答。

于 2010-12-23T17:19:20.267 回答
1

您将需要为该特定消息框创建一个 QMessageBox 对象,然后使用 setStyle() 或 setStyleSheet(),换句话说,您不能使用静态辅助方法。

于 2010-12-23T16:43:17.460 回答