pyqt5 实现右键自定义_Python界面(GUI)编程PyQt5事件和信号

触发响应用户行为和GUI事件的操作

使用信号和槽构建复杂的应用程序行为,并使用自定义事件覆盖小部件事件处理。

如前所述,用户与Qt应用程序的每次交互都会生成一个事件。事件有多种类型,每一种都代表一种不同类型的交互—例如鼠标或键盘事件。

发生的事件被传递到发生交互的小部件上特定于事件的处理程序。例如,单击小部件事件将QMouseEvent发送到小部件上的. mousepressevent处理程序。此处理程序可以查看事件所有信息,比如触发事件的原因以及事件发生的具体位置。

信号/插槽机制具有以下功能。

  • 信号可以连接到许多插槽。
  • 一个信号也可以连接到另一个信号。
  • 信号参数可以是任何Python类型。
  • 插槽可以连接到许多信号。
  • 连接可以是直接的(即同步)或排队的(即异步)。
  • 可以跨线程进行连接。
  • 信号可能断开。

信号

信号(特别是未绑定的信号)是类属性。当信号被引用为该类实例的属性时,PyQt5会自动将该实例绑定到该信号,以创建绑定信号。这与Python本身用于从类函数创建绑定方法的机制相同。

一个绑定信号具有connect(),disconnect()和emit()实现相关联的功能的方法。它还具有一个signal属性,该属性是Qt SIGNAL() 宏将返回的信号的签名。

信号可能重载,即具有特定名称的信号可能支持多个签名。可以用签名对信号进行索引,以选择所需的信号。签名是一系列类型。类型可以是Python类型对象,也可以是C ++类型名称的字符串。C ++类型的名称会自动进行规范化,例如,QVariant可以使用它来代替non-norm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值