PyQT事件处理(信号和插槽)
以下代码可以加载刚才设计的UI
from PySide2.QtWidgets import QApplication from PySide2.QtUiTools import QUiLoader class Calc: def __init__(self): #加载刚才设计的.ui文件 self.ui = QUiLoader().load('D:/vs2019_wf/Calc/Calc/Calc.ui') #给ui中的button对象添加clicked事件,触发后执行handleCalc函数, #QT称事件为信号(signal),处理函数为插槽(slot) self.ui.pushButton.clicked.connect(self.handleCalc1) self.ui.pushButton_2.clicked.connect(self.handleCalc2) self.ui.pushButton_3.clicked.connect(self.handleCalc3) def handleCalc1(self): self.ui.textBrowser.append(str(1)) def handleCalc2(self): self.ui.textBrowser.append(str(2)) def handleCalc3(self): self.ui.textBrowser.append(str(3)) app = QApplication([]) Calc = Calc() #创建UI,只是一闪而过 Calc.ui.show() #一直循环显示和监听控件 app.exec_()
运行效果:
各控件的对象名以这里为准
如果报错Unable to open/read ui device,就将路径中的'\'改为'/'并用绝对路径。