编辑:哎呀,刚刚注意到这是一个关于 Qt/Python(而不是 Qt/C++)的问题,也许我的回答无论如何都有帮助..
刚刚尝试过,它对我有用......这是我使用的代码:
#include <QtGui/QApplication>
#include <QtGui/QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QPushButton* button = new QPushButton("i am toggleable", &w);
button->setFixedSize(200,32);
button->setCheckable(true);
button->setStyleSheet(
"QPushButton { \
background: rgb(75, 75, 75);\
color: rgb(255, 255, 255);\
text-align: left;\
font-size: 12pt;\
border: none;\
}\
QPushButton:checked {\
background: rgb(105, 105, 105);\
}\
");
w.show();
return a.exec();
}
请注意,我为选中的按钮添加了一个额外的 CSS 规则,因此如果一个按钮被选中,它就会变得可见。您确定您的按钮不起作用,或者您只是没有看到它们起作用吗?!
EDIT2:如果它不适合你,你可以使用setFlat(True)
, 并使用额外的 CSS 规则来修复颜色(就像我的例子一样)。