Qt:按钮没有边框使它们不可点击?

时间:2010-09-27 02:32:45

标签: python qt pyside

我正在尝试将样式设置为按钮,使其没有边框,但似乎缺少边框会使按钮无法点击。是否有更好的方法来获得边界?

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 个答案:

答案 0 :(得分:1)

编辑:WHOOPS,刚刚注意到这是一个关于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规则,因此如果选中了Button,它就会显示。你确定你的按钮不工作,或者可能是,你只是看不到它们正在工作?!

EDIT2:如果它不适合您,您可以使用setFlat(True),并使用其他CSS规则来修复颜色(如我的示例所示)。