所以我一直在搜索,但是似乎找不到解决我问题的方法。我想在单击QPushButton时更新其文本。每次我运行我的代码时,它都会崩溃,没有错误消息。请有人可以帮我吗?我在下面附上了我代码的相关部分:
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.OuterSwitch.setText(_translate("MainWindow", "OuterDoorControl"))
self.InnerSwitch.setText(_translate("MainWindow", "InnerDoorControl"))
...
class ControlMainWindow(QtWidgets.QMainWindow):
def __init__(self,parent=None):
super(ControlMainWindow,self).__init__(parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.OuterSwitch.clicked.connect(self.OuterControl)
self.ui.InnerSwitch.clicked.connect(self.InnerControl)
def OuterControl(self):
if GPIO.input(Inner)==0: #InnerDoorOpen
return GPIO.output(Outer,GPIO.HIGH),print("Please Close Inner Door")
elif GPIO.input(Outer) ==1: #Outer Door Close
self.OuterSwitch.setText(_translate("MainWindow","Close Outer Door"))
QApplication.processEvents()
return GPIO.output(Outer,GPIO.LOW) #Open Outer Door
elif GPIO.input(Outer) == 0: #OuterDoor Open
self.ui.InnerSwitch.setEnabled(False)
QtCore.QTimer.singleShot(10000,partial(self.ui.InnerSwitch.setEnabled,True))
return GPIO.output(Outer,GPIO.HIGH) #Close OuterDoor
OuterSwitch和InnerSwitch是我正在使用的两个按钮的对象名。我正在使用PyQt5,并使用QtDesigner设计了Gui。我正在使用Python 3.7。
请您帮忙?
答案 0 :(得分:0)
通过使用以下代码,我设法解决了这个问题:
elif GPIO.input(Outer) ==1: #Outer Door Close
self.ui.OuterSwitch.setText(QtWidgets.QApplication.translate("MainWindow","Close Outer Door",None))
QtWidgets.QApplication.processEvents()
我需要选择正确的API。