按下按钮时,在我的pyqt gui中,按钮的文字颜色会发生变化。当释放按钮时,颜色会恢复原状。
我的代码如下:
self.ui.pButton_save.pressed.connect(self.save_pressed)
self.ui.pButton_cancel.pressed.connect(self.cancel_pressed)
self.ui.pButton_save.released.connect(self.save_released)
self.ui.pButton_cancel.released.connect(self.cancel_released)
def save_pressed(self):
self.ui.pButton_save.setStyleSheet("color: white")
def cancel_pressed(self):
self.ui.pButton_cancel.setStyleSheet("color: white")
def save_released(self):
self.ui.pButton_save.setStyleSheet("color: green")
def cancel_released(self):
self.ui.pButton_cancel.setStyleSheet("color: red")
代码工作正常。但正如你所看到的,这个简单的任务有很多行。可能有更清洁(更Pythonic)的方式。有什么建议吗?
答案 0 :(得分:2)
这是使用Qt样式表进行处理的方法,它处理状态,如按下的按钮。
self.ui.pButton_save.setStyleSheet(
"QPushButton:pressed{color: white} QPushButton{color: green}")
self.ui.pButton_cancel.setStyleSheet(
"QPushButton:pressed{color: white} QPushButton{color: red}")