【发布时间】:2010-12-23 16:24:17
【问题描述】:
如何在 Qt 中为某个 QMessageBox 设置特定的样式。特别是,我想通过为文本“做得好!!!”设置字体大小和颜色来调用下面写的消息框。
QMessageBox::information(this, "Done", "Well done!!!");
【问题讨论】:
标签: c++ qt coding-style qmessagebox
如何在 Qt 中为某个 QMessageBox 设置特定的样式。特别是,我想通过为文本“做得好!!!”设置字体大小和颜色来调用下面写的消息框。
QMessageBox::information(this, "Done", "Well done!!!");
【问题讨论】:
标签: c++ qt coding-style qmessagebox
使用这个静态方法你不能直接访问 QMessageBox,因为它的创建和销毁完全在函数内部。但是您可以在调用此函数之前尝试更改调用对象的样式表属性。这意味着调用对象应该是 QWidget 的后代......
类似这样的:
QString tmpStyleSheet=this->styleSheet();
this->setStyleSheet("style sheet for your QMessageBox");
QMessageBox::information(this, "Done", "Well done!!!");
this->setStyleSheet(tmpStyleSheet);
QMessageBox 的样式会继承父级的样式...
【讨论】:
您需要为该特定消息框创建一个 QMessageBox 对象,然后使用 setStyle() 或 setStyleSheet(),换句话说,您不能使用静态辅助方法。
【讨论】:
我已经用 HTML 代码格式化了 QMessageBox 的文本。对不起这个问题。并感谢您的回答。
【讨论】: