我希望能够通过插槽改变我的应用程序的颜色。例如,如果用户在
只需在
qlabel
中输入错误数据,则整个QWidget都会变成红色。只需在
show()
方法之前的代码中更改颜色即可轻松实现这一点,就像这样:from PyQt5 import Qt
import sys
app = QtWidgets.QApplication(sys.argv)
window = QWidget()
p = window.palette()
p.setColor(window.backgroundRole(), QtCore.Qt.red)
window.setPalette(p)
window.show()
sys.exit(app.exec_())
但我不知道如何更改插槽中的颜色,如果我的结构是这样的:
class MyWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QDialog.__init__(self, parent)
uic.loadUi("file.ui", self)
self.sendButton.clicked.connect(self.change_color)
# what should be in change-color slot?
def change_color(self):
#.....?
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
我是否应该在槽函数中调用QWidget的指针?
如何实现正确的功能呢?