【问题标题】:Set specific style to a certain QMessageBox将特定样式设置为某个 QMessageBox
【发布时间】:2010-12-23 16:24:17
【问题描述】:

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

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

【问题讨论】:

    标签: c++ qt coding-style qmessagebox


    【解决方案1】:

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

    类似这样的:

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

    QMessageBox 的样式会继承父级的样式...

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-09-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多