1

我正在尝试为按钮设置样式,使其没有边框,但似乎缺少边框会使按钮不可点击。有没有更好的方法没有边界?

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;}")
4

1 回答 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 规则,因此如果一个按钮被选中,它就会变得可见。您确定您的按钮不起作用,或者您只是没有看到它们起作用吗?!

EDIT2:如果它不适合你,你可以使用setFlat(True), 并使用额外的 CSS 规则来修复颜色(就像我的例子一样)。

于 2010-09-27T10:28:39.630 回答