Pyside qpushbutton переключить цвет фона

Когда у меня есть QPushButton, который нажат с опцией переключения. Как установить для кнопки цвет фона, отличный от черного? Этот код пытается использовать для этого таблицы стилей, но остается черным.

    light_label = QtWidgets.QPushButton(light)
    light_label.setCheckable(True)            
    light_label.toggled.connect(partial(self.light_label_event, light))
    light_label.setStyleSheet('QPushButton::checked{background:rgb(255, 0, 0); }')
0
0
350
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны использовать проверенное псевдосостояние:

import sys
from PySide import QtGui


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    button = QtGui.QPushButton("Hello world")
    button.setCheckable(True)
    button.setStyleSheet("""
        QPushButton {background:rgb(65,66,66); color: white;} 
        QPushButton::checked{background:rgb(255, 0, 0); color: white;}
    """)
    button.show()
    sys.exit(app.exec_())

К сожалению, у меня возникают проблемы с тем, чтобы псевдосостояние subcontrol :: работало в этом контексте. Я бы подумал, что это будет только: указание псевдосостояния «проверено». Not :: указывает на субэлемент псевдосостояния?

winteralfs 13.09.2018 21:15

@winteralfs Я не понимаю, в чем причина вашей проблемы, поскольку, к сожалению, вы должны знать, что без минимальный воспроизводимый пример я не смогу вам помочь.

eyllanesc 13.09.2018 21:21

Я постараюсь сделать одну.

winteralfs 13.09.2018 21:23

@winteralfs a минимальный воспроизводимый пример не имеет ничего общего с вашим проектом, а только с размещением рабочего кода, в котором отображается ошибка, как в моем примере.

eyllanesc 13.09.2018 21:24

Я обновил код, так как это, к сожалению, все еще вызывает у меня проблемы.

winteralfs 15.09.2018 07:54

Другие вопросы по теме