【发布时间】:2012-10-23 05:02:35
【问题描述】:
我正在为我的屏幕创建一个错误消息框。我正在使用 QDialogButtonBox 作为按钮。 现在我想用不同的颜色填充按钮。 例如: “好的” --> 绿色 “取消”-> 红色等。 我可以更改所有按钮的背景,但不能单独更改。
有没有办法做到这一点?
提前谢谢!!!!
【问题讨论】:
标签: qt qt4 qmessagebox
我正在为我的屏幕创建一个错误消息框。我正在使用 QDialogButtonBox 作为按钮。 现在我想用不同的颜色填充按钮。 例如: “好的” --> 绿色 “取消”-> 红色等。 我可以更改所有按钮的背景,但不能单独更改。
有没有办法做到这一点?
提前谢谢!!!!
【问题讨论】:
标签: qt qt4 qmessagebox
试试这个(使用 QDialogButtonBox::button() 和 QPushButton::setStyleSheet())。
QDialogButtonBox* buttonBox = new QDialogButtonBox;
// set up your button box
QColor okButtonColor = Qt::red;
buttonBox->button(QDialogButtonBox::Ok)->setStyleSheet(QString("background:%1").arg(okButtonColor.name()));
已编辑:在构建样式表字符串周围的代码中修复了错字。
【讨论】:
我知道我迟到了,但我会把这个留给遇到与我相同问题的开发人员,这适用于 python 和 c++ 开发人员,您可以使用它来更改特定按钮的颜色:
#<QDialogButtonBox ObjectName> *[text="Save"] {
background: red;
}
#<QDialogButtonBox ObjectName> *[text="OK"] {
background: green;
}
【讨论】: