每天一分钟,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 时,便是插入第一行第一列二列三列数据