PyQt5多线程处理

PyQt5多线程的使用

UI界面经常遇到,当执行某个按钮时,其内部逻辑函数处理时间较长的话会导致UI几面假死,此时需要将按钮对应函数放在另一个线程中去处理。如下为线程代码:

一、线程函数

from PyQt5.QtCore import Qt,QThread,pyqtSignal
class Rule_Thread(QThread):
	_rule = pyqtSignal(str) #设置触发信号传递的数据类型,此处为 str类型
	def __init__(self):
		super(Rule_Thread,self).__init__  #初始化线程
	def run(self):	#此为该线程需执行的函数,函数名必须为run
		'''加入按钮所需执行的函数代码'''
		i = 'wake up!'
		self._rule.emit(str(i))		#返回所需的参数值

二、按钮绑定启动线程函数

self.button.clicked.connect(self.Rule_update) 
def Rule_update(self):
	self.rule_thread = Rule_Thread()  #定义一个变量指向线程函数
	self.rule_thread._rule.connect(self.update_rule)  #将线程中的_rule信号传递参数绑定一个函数,该函数可返回信号传递出来的具体参数值
	self.rule_thread.start()  #开始线程处理

def update_rule(self,r):	#r为_rule返回的参数值
	......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值