学习PyQt5(三):PyQt5的信号和槽

我 

如图所示,我们创建一个按钮及一个浏览器。

什么是信号?比如按钮的单击,双击,按下,释放等,都可以认为是一个信号

什么是槽? 对应的信号,做出什么应对,这要一个应对在一个函数中,我们可以认为这就是一个信号/槽关系

在Qt Designer中点击工具栏(注意不是工具盒)中的这个图标

点击这个图标后,就进入了编辑信号/槽的状态,这个时候我们把鼠标放在放在组件上会有红色选中状态。

点击拉向空白处,会出现上图情况,这种情况是自定义槽,也可指向另一个控件俩着相关联。

我们点击编译会出现槽/信号框,点击添加按钮,添加自定义的函数。

同时我们也可以在右下角的信号/槽编译器处,编译和修改

保存创建的UI,会在路径下生成一个.ui的文件,

 

点击PyUIC运行,会自动生成一个test_ui.py文件,打开此文件会发现

self.pushButton.clicked.connect(MainWindow.test_1)

这行代码,这就是我们前面编译的信号/槽在代码中的体现,所有,我们也可以在代码中自己编写

编辑主文件

from PyQt5 import QtWidgets 
from test_ui import Ui_MainWidow 
class MyWindow(QtWidgets.QWidget,Ui_MainWindow): 
   def __init__(self): 
       super(MyWindow,self).__init__() 
       self.setupUi(self) 
if __name__=="__main__": 
    import sys 
    app=QtWidgets.QApplication(sys.argv) 
    myshow=Ui_MainWindow() 
    myshow.show() 
    sys.exit(app.exec_())

这时运行会报错,因为我们每次写槽函数也就是test_1。

def test_1(self): 
    self.textBrowser.append("0") 

猜你喜欢

转载自www.cnblogs.com/gexbooks/p/11282267.html
今日推荐