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,就将路径中的'\'改为'/'并用绝对路径。

posted @ 2020-09-27 14:37  JinweiChang  阅读(300)  评论(0编辑  收藏  举报