Python pyside QPushButton切换背景色

Python pyside QPushButton切换背景色,python,pyside,Python,Pyside,当我有一个用切换选项按下的QPushButton时。如何将按钮的背景色设置为黑色以外的其他颜色?这段代码试图使用样式表来实现这一点,但它仍然是黑色的 light_label = QtWidgets.QPushButton(light) light_label.setCheckable(True) light_label.toggled.connect(partial(self.light_label_event, light)) light

当我有一个用切换选项按下的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); }')

必须使用已检查的伪状态:

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_())

不幸的是,我很难让pseudos状态subcrol::在这种上下文中工作。我想它只会是:表示伪S状态“已检查”。而不是::表示伪状态的子控制?@winteralfs我不明白是什么导致了你的问题,正如您应该知道的,不幸的是,如果没有a,我将无法帮助您。我将尝试制作一个。@winteralfs a与您的项目无关,只是与将一个工作代码放置在错误显示的位置(如我的示例所示)有关。我更新了代码,因为不幸的是,这仍然会给我带来问题。