学习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")
以前-好记性不如烂笔头
现在-好记性不如烂键盘