Python PyQt5 QPushButton SETSYLESHEEP在按下时不会更改按钮颜色

Python PyQt5 QPushButton SETSYLESHEEP在按下时不会更改按钮颜色,python,pyqt5,stylesheet,qpushbutton,Python,Pyqt5,Stylesheet,Qpushbutton,在研究了这个论坛中的各种例子后,我尝试在按下按钮时改变按钮的颜色。按钮通常是蓝色的,按下时我希望它变成红色。以下代码确实显示带白色文本的蓝色按钮,但按下时不会变为红色。请告知。我对学习python/pyqt5相当陌生 import sys from PyQt5.QtWidgets import QWidget, QApplication, QPushButton class Push_button(QPushButton): def __init__(self, parent=None

在研究了这个论坛中的各种例子后,我尝试在按下按钮时改变按钮的颜色。按钮通常是蓝色的,按下时我希望它变成红色。以下代码确实显示带白色文本的蓝色按钮,但按下时不会变为红色。请告知。我对学习python/pyqt5相当陌生

import sys
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton

class Push_button(QPushButton):
    def __init__(self, parent=None):
        super(Push_button, self).__init__(parent)
        self.setStyleSheet("background-color: rgb(0,0,255); color: rgb(255,255,255); \
                  pressed {background-color : rgb(255,0,0); color: rgb(255,255,255);} ")

class MyWindow(QWidget):
    def __init__(self):
        super().__init__()

        self.myButton = Push_button(self)
        self.myButton.setText("myButton")
        self.myButton.clicked.connect(self.myButtonClicked)

    def myButtonClicked(self):
        print("myButtonClicked")
 
if __name__ == '__main__':
    app = QApplication(sys.argv)

    w = MyWindow()
    w.show()

    sys.exit(app.exec_())

您没有正确使用选择器

现在,样式表为名为“pressed”的类设置蓝色背景色,为红色背景色


请阅读官方文档中的更多信息。

谢谢您的帮助。为完整起见,以下是有效的更新代码:
        self.setStyleSheet('''
            QPushButton {
                background-color: rgb(0,0,255); color: rgb(255,255,255);
            }
            QPushButton:pressed {
                background-color : rgb(255,0,0); color: rgb(255,255,255);
            }
        ''')