您好,對于我的應用程式,我正在嘗試在按下不同按鈕時更改一個按鈕的顏色。
我通過創建一個名為 changeSymbol 的全域布爾變數來做到這一點,并且當 changeSymbol 回傳 true 時,其中一個按鈕將發生變化。
這是我的代碼:[編輯由于復制和粘貼困難(我也是堆疊溢位的新手),我將發布螢屏截圖]


uj5u.com熱心網友回復:
我不知道我是否理解問題,因為我看不到完整的代碼。
也許您應該在一個功能中完成所有作業
def Change_pressed(self):
if self.Change.isChecked():
self.Change.setText("??")
self.Clear.setStyleSheet("QPushButton {\n"
" background-color: RGB (107, 128, 104) ;\n"
" border: 1px solid gray;\n"
"}\n"
"QPushButton:pressed {\n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\n"
" stop: 0 #BEBEBE, stop: 1 #D7D7D7);\n"
"}")
else:
self.Change.setText("??")
self.Clear.setStyleSheet("QPushButton {\n"
" background-color: rgb(215, 215, 215);\n"
" border: 1px solid gray;\n"
"}\n"
"QPushButton:pressed {\n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\n"
" stop: 0 #BEBEBE, stop: 1 #D7D7D7);\n"
"}")
如果您必須將代碼保存在單獨的函式中,那么您可以使用self.changeMode而不是全域變數。并且還運行Clear_changed()在`Change_pressed()
def Change_pressed(self):
self.changeSymbol()
self.Clear_changed()
def changeSymbol(self):
if self.Change.isChecked():
self.Change.setText("??")
self.changeMode = True
else:
self.Change.setText("??")
self.changeMode = False
def Clear_changed(self):
if self.changeMode == True:
self.Clear.setStyleSheet("QPushButton {\n"
" background-color: RGB (107, 128, 104) ;\n"
" border: 1px solid gray;\n"
"}\n"
"QPushButton:pressed {\n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\n"
" stop: 0 #BEBEBE, stop: 1 #D7D7D7);\n"
"}")
else:
self.Clear.setStyleSheet("QPushButton {\n"
" background-color: rgb(215, 215, 215);\n"
" border: 1px solid gray;\n"
"}\n"
"QPushButton:pressed {\n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\n"
" stop: 0 #BEBEBE, stop: 1 #D7D7D7);\n"
"}")
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/489346.html
