PyQt5信号与槽的简单使用记录

PyQt5信号与槽的简单使用记录

  • 前言
  • 信号与槽
  • 总结


前言

最近开发项目,使用PyQt5学习了一些知识,简单记录一下!


信号与槽

使用Qt设计好界面,再通过PyUic转化成py,就可以通过其他python来调用设计好的界面控件。在调用界面控件时,我们使用到信号与槽。

举个例子:
我前端设计采用了一个按钮。
按钮有对应的Click事件,那这个点击事件要如何和后台沟通。那么就需要连接。这个连接的方式有好几种。我简单介绍一下:
定义Click事件,也就是对应的函数;

def btn_click(self):
	pass

然后使用connect连接起来。

self._ui.xx.clicked.connect(self.btn_click)

_ui是我们设计的界面,我们可以命名为_ui使用。
xx就是这个界面里的控件。
clicked可以是这个控件对应的事件。
通过以上的方式,我们就完成了一个简单的信号与槽的绑定。
于是乎,可能就会出现一个按钮对应一个槽函数。我们的多个按钮,相当于多个信号,使用同一个槽函数。
我们可以做出如下更改:

self._ui.xx.clicked.connect(lambda:self.btn_click(yy))

我们在这里区分不同的信号,就是在给它增加一个区分,添加一个变量,这个变量根据我按钮的不同来变化。

def btn_click(self,yy):
	pass

这里的yy就可以知道是什么按钮按下的,来进行不同的操作,这样我们避免出现定义重复的函数,尤其当很多按钮按下的事件处理相同,仅有一个数据不同时,这种方式可以减少很多的代码量,优化了代码!


总结

本文记录了在使用connect信号与槽的两种方式。

你可能感兴趣的:(PyQt5,qt,开发语言)