Qt:按钮无边框导致不可点击?
我想给一个按钮设置样式,让它没有边框,但似乎没有边框后,按钮就变得无法点击了。有没有更好的方法可以让按钮没有边框呢?
button = QtGui.QPushButton(todo, self)
button.move(0, i * 32)
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;}")
1 个回答
1
编辑:哎呀,我刚注意到这是关于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规则,这样如果按钮被选中就能看得出来。你确定你的按钮不工作吗?还是说其实它们在工作,只是你看不出来?
编辑2:如果对你来说不管用,你可以试试用 setFlat(True)
,然后再用额外的CSS规则来调整颜色(就像我示例中的那样)。