Добавить стиль для снятия флажка QPushButton

Я запустил новый пустой проект (приложение QWidget). Ниже я помещаю код, который я вставил в mainwindow.cpp

for(int i = 0 ; i < 10 ; i++){
QPushButton* b = new QPushButton();
b->setCheckable(true);
b->setChecked(false);
ui->centralWidget->layout()->addWidget(b);
b->setStyleSheet(
"QPushButton          { background-color: red; }\
QPushButton:checked  { background-color: black;}");
connect(b, &QPushButton::toggled, [b](){qDebug() << "State changed to" << b->isChecked();});

Как видите, состояние меняется, но после снятия флажка кнопка остается синей.

введите описание изображения здесь

-1

Решение

Такое поведение вызвано стилем приложения KDE5 по умолчанию, который называется Breeze. Единственный обходной путь, который я обнаружил, — это изменение стиля на что-то другое (в моем случае это кислород).
Я также пытался обновить Plasma, но безуспешно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]