我
如图所示,我们创建一个按钮及一个浏览器。
什么是信号?比如按钮的单击,双击,按下,释放等,都可以认为是一个信号
什么是槽? 对应的信号,做出什么应对,这要一个应对在一个函数中,我们可以认为这就是一个信号/槽关系
在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")
来源:oschina
链接:https://my.oschina.net/u/4399009/blog/3444002