PyQt5 QPushButton setSyleSheet 按下时不改变按钮颜色
PyQt5 QPushButton setSyleSheet does not change button color when pressed
在研究了本论坛中的各种示例后,我尝试改变按钮按下时的颜色。该按钮通常是蓝色的,按下时我希望它变成红色。以下代码确实显示了一个带有白色文本的蓝色按钮,但按下时它不会变为红色。请指教。我刚开始学习 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);
}
''')
在官方文档中阅读有关 selector types 的更多信息。
在研究了本论坛中的各种示例后,我尝试改变按钮按下时的颜色。该按钮通常是蓝色的,按下时我希望它变成红色。以下代码确实显示了一个带有白色文本的蓝色按钮,但按下时它不会变为红色。请指教。我刚开始学习 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);
}
''')
在官方文档中阅读有关 selector types 的更多信息。