每天一分钟,python一点通(qt designer 信号与槽)
信号与槽概念
信号:顾名思义就是触发信号,主要涉及控件的单击,双击,滑动,以及属性改变等(类似C#)
槽:pyqt的槽,也叫槽函数,便是我们要在信号触发时,需要编辑的函数,每当我们使用时,需要连接信号与槽
PyQt的窗口控件类中有很多内置信号,开发者也可以添加自定义信号,信号与槽主要有如下几种:
第一种:内置信号与槽的使用 (类似于C#的messagebox.show())
第二种:自定义信号与槽的使用 (自己编辑的函数)
第三种:装饰器的信号与槽的使用
信号与槽有如下特征:
1、一个信号可以连接多个槽函数
2、一个信号可以连接另一个信号
3、一个槽可以监听多个信号
4、信号和槽的连接可能会跨线程
5、连接方式可以是同步或者异步
6、信号与槽可以是多对多关系
信号与槽的使用
上期文章分享了pyqt的2个简单控件:按键与label每天一分钟,python一点通(qt designer 控件初识)
本期实现如下的功能:点击按键,弹出一个类似C#的messagebox的效果
选择Edit> 编辑信号与槽
鼠标左键点击按键控件,往外拉,便可出现如下连接线,表示此控件有一个信号槽
松开鼠标左键,便弹出如下按键的信号弹窗,上面有单击,按下等信号,使用第一个单击信号
选择clicked信号,点击编辑,弹窗出槽函数编辑界面
点击+号,新建一个槽函数,当然,若有需要你也可以直接选择pyqt提供的槽函数,
比如close()函数,若你选择了此槽函数,当点击按键时,主窗体关闭,大家可以自行尝试。
新建一个btn_help_message()槽函数
ps:此处的槽函数名称,便是在程序里面定义的函数名称
点击ok,此按键便绑定了新建的此槽函数
回到主界面设计窗体,便可以清楚的看到,此按键控件绑定了新建的槽函数
保存主窗体,使用pycharm的pyuic工具,把主界面转化为py文件
可以在ui文件代码下查看新建的信号与槽
也可以在转化的py代码下看到按键的点击信号绑定了新建的槽函数
只在界面类函数里面写下如下函数,便可以弹窗一个界面
初始界面,可以参考上期文章
运行代码,便可以看到新建的弹窗了
在此槽函数里面加入如下代码来设置一下lineEdit(单行输入框)显示的文字,然后得到此lineEdit的文字,来显示到弹窗中
OK,本期的Python一点通,文章教程介绍了信号与槽的使用,另外我们也介绍了另外一个控件lineEdit
Text browser,table widget
Text browser,从控件形状上来看,便知此控件可以显示多行文本
设置Text browser文本:self.textBrowser.setText(‘123’)
但是Text browser主要的作用是在程序运行中,显示一些基本的运行信息,类似log信息,使用Text browser.setText命令会覆盖上一次的文本,若想不覆盖上次信息,请使用如下:
self.textBrowser.append(text)
table widget
table可以直接在属性界面设置行列数
在程序运行时,初始化
在使用table时,若想插入数据,直接使用如下:
当i= 0 时,便是插入第一行第一列二列三列数据