PyQt5系列教程(十一)发送信号时传参
来源:互联网 发布:注册域名后怎么建站 编辑:程序博客网 时间:2024/05/18 03:33
软硬件环境
- Windows 10
- PyQt5
- Python3.4
前言
在PyQt5编程中,经常需要在某个signal发送时附带相应的数据,实际上就是传参,然后在slot方法中接收传递过来的数据,这样就可以非常灵活地实现一些业务逻辑。好了,本文就来实现这个功能。
实践
首先是生成一个signal
transcoding_thread_status = pyqtSignal(object)
然后将signal和slot方法绑定
self.transcoding_thread_status.connect(self.slotShowTransThreadStatus)
slot方法接收数据
def slotShowTransThreadStatus(something): print(something)
最后来看看,signal emit时是怎么实现的
self.transcoding_thread_status.emit("Hello")
至此数据就传递成功了,就是这么简单。
以上是传递一个参数,那如果我需要传递2个呢,是不是也可以用上面的方法呢?思路是一样的,细节做一点小修改就好了。
transcoding_thread_status = pyqtSignal(str,str)
如果传递的数据类型是整形的话,就换成int,对应的slot方法也要跟着修改
def slotShowTransThreadStatus(something,anything): print(something) print(anything)
发送信号时,就跟上2个参数
self.transcoding_thread_status.emit("Hello","world")
类似的,如果需要传递更多参数,请依葫芦画瓢。
源码下载
https://github.com/djstava/troutling,这个项目是一个带GUI的ffmpeg wrapper。因为最近正在做一个电视直播的项目,其中涉及到音视频的实时再编码及HLS相关的内容,为了更加方便的进行节目源(目前是UDP的流)转码,就做了个这个小工具。使用的是Windows+PyQt5+Python3。
0 0
- PyQt5系列教程(十一)发送信号时传参
- PyQt5系列教程(四)信号和槽
- PyQt5系列教程(四)信号和槽
- Pyqt5系列(八)-自定义信号
- PyQt5系列教程(七)控件
- Pyqt5系列(七)-信号与槽机制
- PyQt5教程-09-事件与信号
- PyQt5系列教程(五)制作fastboot烧写器
- PyQt5系列教程(九)QInputDialog的使用
- PyQt5系列教程(十)pyinstaller打包exe
- PyQt5教程(四)——事件与信号
- PyQt5:发射信号(18)
- PyQt5信号槽机制
- pyQt5-事件和信号
- PyQt5系列教程(一)Mac OS X下搭建Python3.5.1+PyQt5开发环境
- PyQt5系列教程(二)利用QtDesigner设计UI界面
- PyQt5系列教程(三)用py2exe进行程序打包
- PyQt5系列教程(六)如何让界面和逻辑分离
- 3.8
- maven详解之生命周期与插件(一)
- unity5.x Translate平移移动 以及GetComponent获取组件
- USACO
- JS变量提升
- PyQt5系列教程(十一)发送信号时传参
- Swing组件及三大布局管理器
- POJ 1700
- Android 之 BroadcastReceiver (二) 常见的几个系统广播
- [Unity Shader] Fixed Function Shader
- Java中的单例模式
- 组合数 【DFS】(保存路径)
- Java 集合系列之 Set架构 TreeSet HashSet 详细介绍(源码解析)和使用示例
- UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.