Qt: Нет границ на кнопках, делающих их не кликабельными? - PullRequest
1 голос
/ 27 сентября 2010

Я пытаюсь установить стиль для кнопки, чтобы она не имела границ, но кажется, что отсутствие границы делает кнопку неактивной Есть ли лучший способ получить границу?

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 голос
/ 27 сентября 2010

РЕДАКТИРОВАТЬ: 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 для отмеченных кнопок, так что оно становится видимым, если кнопка отмечена или нет.Вы уверены, что ваши кнопки не работают, или это может быть, что вы просто не видите, что они работают?!

EDIT2: Если это не работает для вас, вы можете просто использовать setFlat(True) и использовать дополнительныеПравила CSS для исправления цветов (как в моем примере).

...