[英]Making Push button label change every click on pyqt5
我正在使用 pyqt5 構建一個 gui。 我試圖弄清楚如何在每次點擊時更改按鈕:
在我的代碼中,我有一個名為 Chuck_Release 的按鈕。 基本上,我希望它在某些條件下顯示“chuck”或“release”,但在那之前我只希望它每次點擊都改變它的標題,起始狀態為“chuck”,但我似乎無法理解出了怎么做。
這是我的代碼:
import sys, time
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(685, 459)
self.exitbtn = QtWidgets.QPushButton(Dialog)
self.exitbtn.setGeometry(QtCore.QRect(608, 431, 75, 23))
self.exitbtn.setObjectName("exitbtn")
self.Typelist = QtWidgets.QComboBox(Dialog)
self.Typelist.setGeometry(QtCore.QRect(50, 70, 59, 20))
self.Typelist.setObjectName("Typelist")
self.Typelist.addItem("")
self.Typelist.addItem("")
self.Typelist.addItem("")
self.Chuck_Release = QtWidgets.QPushButton(Dialog)
self.Chuck_Release.setGeometry(QtCore.QRect(50, 100, 75, 23))
self.Chuck_Release.setObjectName("Chuck_Release")
self.label = QtWidgets.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(50, 20, 37, 16))
self.label.setObjectName("label")
self.textBrowser = QtWidgets.QTextBrowser(Dialog)
self.textBrowser.setGeometry(QtCore.QRect(25, 160, 511, 192))
self.textBrowser.setObjectName("textBrowser")
self.lineEdit = QtWidgets.QLineEdit(Dialog)
self.lineEdit.setGeometry(QtCore.QRect(50, 40, 133, 20))
self.lineEdit.setObjectName("lineEdit")
self.Runbtn = QtWidgets.QPushButton(Dialog)
self.Runbtn.setGeometry(QtCore.QRect(420, 60, 91, 61))
font = QtGui.QFont()
font.setPointSize(16)
font.setBold(True)
font.setWeight(75)
self.Runbtn.setFont(font)
self.Runbtn.setObjectName("Runbtn")
self.getSerial = QtWidgets.QPushButton(Dialog)
self.getSerial.setGeometry(QtCore.QRect(200, 40, 75, 23))
self.getSerial.setObjectName("getSerial")
self.exitbtn.clicked.connect(self.exitclicked)
self.Chuck_Release.clicked.connect(self.chuckclicked)
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "NEW GUI"))
self.exitbtn.setText(_translate("Dialog", "Exit"))
self.Typelist.setItemText(0, _translate("Dialog", "Type 1"))
self.Typelist.setItemText(1, _translate("Dialog", "Type2"))
self.Typelist.setItemText(2, _translate("Dialog", "Type 3"))
self.Chuck_Release.setText(_translate("Dialog", "Chuck"))
self.label.setText(_translate("Dialog", "Serial #"))
self.Runbtn.setText(_translate("Dialog", "Run"))
self.getSerial.setText(_translate("Dialog", "Enter"))
def exitclicked(self,Dialog):
sys.exit()
def chuckclicked(self,Dialog):
self.Chuck_Release.setText("Release") ***this is my function for chuckrelease push button***
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
如果有人可以向我解釋如何完成它的過程,我會很高興。 謝謝! :D
可檢查:布爾
此屬性保存按鈕是否可檢查
默認情況下,該按鈕不可檢查。
檢查:布爾
該屬性保存按鈕是否被選中
只能勾選可勾選的按鈕。 默認情況下,該按鈕未選中。
import sys, time
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(685, 459)
self.exitbtn = QtWidgets.QPushButton(Dialog)
self.exitbtn.setGeometry(QtCore.QRect(608, 431, 75, 23))
self.exitbtn.setObjectName("exitbtn")
self.Typelist = QtWidgets.QComboBox(Dialog)
self.Typelist.setGeometry(QtCore.QRect(50, 70, 59, 20))
self.Typelist.setObjectName("Typelist")
self.Typelist.addItem("")
self.Typelist.addItem("")
self.Typelist.addItem("")
self.Chuck_Release = QtWidgets.QPushButton(Dialog)
self.Chuck_Release.setGeometry(QtCore.QRect(50, 100, 75, 23))
self.Chuck_Release.setObjectName("Chuck_Release")
self.Chuck_Release.setCheckable(True) # +++
self.label = QtWidgets.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(50, 20, 37, 16))
self.label.setObjectName("label")
self.textBrowser = QtWidgets.QTextBrowser(Dialog)
self.textBrowser.setGeometry(QtCore.QRect(25, 160, 511, 192))
self.textBrowser.setObjectName("textBrowser")
self.lineEdit = QtWidgets.QLineEdit(Dialog)
self.lineEdit.setGeometry(QtCore.QRect(50, 40, 133, 20))
self.lineEdit.setObjectName("lineEdit")
self.Runbtn = QtWidgets.QPushButton(Dialog)
self.Runbtn.setGeometry(QtCore.QRect(420, 60, 91, 61))
font = QtGui.QFont()
font.setPointSize(16)
font.setBold(True)
font.setWeight(75)
self.Runbtn.setFont(font)
self.Runbtn.setObjectName("Runbtn")
self.getSerial = QtWidgets.QPushButton(Dialog)
self.getSerial.setGeometry(QtCore.QRect(200, 40, 75, 23))
self.getSerial.setObjectName("getSerial")
self.exitbtn.clicked.connect(self.exitclicked)
self.Chuck_Release.clicked.connect(self.chuckclicked)
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "NEW GUI"))
self.exitbtn.setText(_translate("Dialog", "Exit"))
self.Typelist.setItemText(0, _translate("Dialog", "Type 1"))
self.Typelist.setItemText(1, _translate("Dialog", "Type2"))
self.Typelist.setItemText(2, _translate("Dialog", "Type 3"))
self.Chuck_Release.setText(_translate("Dialog", "Chuck"))
self.label.setText(_translate("Dialog", "Serial #"))
self.Runbtn.setText(_translate("Dialog", "Run"))
self.getSerial.setText(_translate("Dialog", "Enter"))
def exitclicked(self,Dialog):
sys.exit()
def chuckclicked(self,Dialog):
# print(self.Chuck_Release.isChecked())
if self.Chuck_Release.isChecked(): # +++
self.Chuck_Release.setText("Release")
else:
self.Chuck_Release.setText("Chuck")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.