0

我正在为我的屏幕创建一个错误消息框。我正在使用 QDialogBu​​ttonBox 作为按钮。现在我想用不同的颜色填充按钮。例如:“确定”-> 绿色“取消”-> 红色等。我可以更改所有按钮的背景,但不能单独更改。

有没有办法做到这一点?

提前致谢 !!!!

4

2 回答 2

5

试试这个(使用 QDialogBu​​ttonBox::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()));

已编辑:围绕构建样式表字符串的代码中修复了错字。

于 2012-10-23T05:10:34.067 回答
0

我知道我迟到了,但我要把这个留给遇到和我一样的问题的开发人员,这适用于 python 和 c++ 开发人员,你可以使用它来更改特定按钮的颜色:

#<QDialogButtonBox ObjectName> *[text="Save"] {
    background: red;
}
#<QDialogButtonBox ObjectName> *[text="OK"] {
    background: green;
}

Qt 设计器示例

于 2020-12-09T19:20:19.343 回答