89.自定义信号

有的信号在Pyqt5本身是没有的,比如说双击一个按钮,右击一个按钮

目录

1  创建自定义信号

2  自定义信号在Qt.designer中的使用

3  自定义信号传递参数


1  创建自定义信号

首先我们应该自定义一个类

我们需要在自定义类中创建一个类属性,类属性pyqtSignal()对象

信号实际上是事件的扩展,定义信号我们需要对事件进行操作

我们无论是要创建双击信号或是右击信号,本质上都是按下事件松开事件的处理

我们应该重写事件,为了不影响其他信号的使用所以我们首先应该继承原本的方法

在我们的事件中,有button()这个方法能得知我们点的是左键还是右键

我们就先测试一下button

运行后,我们对按钮先点击一下左键再点击一下右键

  • 我们也可以按中键,如果鼠标有别的键也可以试一下,最常用的是左键和右键

我们此时做出判定,如果是右键点击则触发这个信号

然后在下方连接槽函数

此时运行一下,然后右键点击按钮

2  自定义信号在Qt.designer中的使用

如果要在QTDesigner中使用自定义信号,进入这个界面后点击这个按钮

点击这个按钮添加信号

然后再到这里面把信号名称输入进去就可以了

比如说我的信号名称是rightClicked,我们就输入rightClicked()然后点击确定就可以了

3  自定义信号传递参数

我们也可以使用自定义信号传递参数

比如我们现在把按钮上的字传递出去

在定义信号时输入数据类型,在信号发射输入传递内容

然后接收这个参数

运行后我们右键点击按钮

传递的参数有可能会根据槽函数的不同需求进行重载(既可以传出str也可以传出int)

我们可以这样写,这个的意思就是这个信号有可能传出str也有可能传出int

然后我们发射的时候就改成这样,我们再加入一个传输int数据的通道

我们下面使用int的数据试一下

运行之后右键点击按钮

当然也可以一次传递两个参数

运行后右键点击一下按钮

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值