4
我希望能夠從插槽中更改我的應用程序的顏色。例如,如果用戶輸入錯誤的數據到qlabel中,整個QWidget變成紅色。從插槽PyQt更改背景顏色
這是很容易只是之前的方法顯示(改變代碼的顏色),就像這樣:
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指針嗎?
在這裏實現正確功能的方法是什麼?
「我應該以某種方式調用QWidget的指針,在槽?」當然你應該。它在Python中被稱爲self。 – Trilarion