python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)

信号与槽概念

信号:顾名思义就是触发信号,主要涉及控件的单击,双击,滑动,以及属性改变等(类似C#)

槽:pyqt的槽,也叫槽函数,便是我们要在信号触发时,需要编辑的函数,每当我们使用时,需要连接信号与槽

PyQt的窗口控件类中有很多内置信号,开发者也可以添加自定义信号,信号与槽主要有如下几种:

第一种:内置信号与槽的使用 (类似于C#的messagebox.show())

第二种:自定义信号与槽的使用 (自己编辑的函数)

第三种:装饰器的信号与槽的使用

信号与槽有如下特征:

1、一个信号可以连接多个槽函数

2、一个信号可以连接另一个信号

3、一个槽可以监听多个信号

4、信号和槽的连接可能会跨线程

5、连接方式可以是同步或者异步

6、信号与槽可以是多对多关系

信号与槽的使用

上期文章分享了pyqt的2个简单控件:按键与label每天一分钟,python一点通(qt designer 控件初识)

本期实现如下的功能:点击按键,弹出一个类似C#的messagebox的效果

选择Edit> 编辑信号与槽

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第1张图片

鼠标左键点击按键控件,往外拉,便可出现如下连接线,表示此控件有一个信号槽

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第2张图片

松开鼠标左键,便弹出如下按键的信号弹窗,上面有单击,按下等信号,使用第一个单击信号

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第3张图片

选择clicked信号,点击编辑,弹窗出槽函数编辑界面

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第4张图片

点击+号,新建一个槽函数,当然,若有需要你也可以直接选择pyqt提供的槽函数,

比如close()函数,若你选择了此槽函数,当点击按键时,主窗体关闭,大家可以自行尝试。

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第5张图片

新建一个btn_help_message()槽函数

ps:此处的槽函数名称,便是在程序里面定义的函数名称

点击ok,此按键便绑定了新建的此槽函数

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第6张图片
python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第7张图片

回到主界面设计窗体,便可以清楚的看到,此按键控件绑定了新建的槽函数

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第8张图片

保存主窗体,使用pycharm的pyuic工具,把主界面转化为py文件

可以在ui文件代码下查看新建的信号与槽

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第9张图片

也可以在转化的py代码下看到按键的点击信号绑定了新建的槽函数

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第10张图片

只在界面类函数里面写下如下函数,便可以弹窗一个界面

初始界面,可以参考上期文章

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第11张图片

运行代码,便可以看到新建的弹窗了

在此槽函数里面加入如下代码来设置一下lineEdit(单行输入框)显示的文字,然后得到此lineEdit的文字,来显示到弹窗中

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第12张图片

OK,本期的Python一点通,文章教程介绍了信号与槽的使用,另外我们也介绍了另外一个控件lineEdit

下期文章,我们简单介绍一下其他的主要控件

python pyqt5label被点击触发_每天一分钟,python一点通(qt designer 信号与槽)_第13张图片

每天一分钟,Python一点通

谢大家的点赞与转发,关于分享的文章,大家有任何问题,可以在评论区一起探讨学习

你可能感兴趣的:(python,pyqt5label被点击触发,python,pyqt选择文件夹,python按键按下改变数值,信号与槽是如何实现的)