Pyqt5-多线程QThread的使用

在使用pyqt5进行GUI编程的时候,网上能够找到的材料寥寥无几,往下这几篇文章是我自己的踩坑记录,如果有遇到一些棘手的问题,可以私聊我,一起探讨。

首先,pyqt5中使用多线程需要自己重写QThread的run函数

class Search_movie(QThread):
    display_signal = pyqtSignal(str) ##此处定义了一个信号,可以用来与主程序交互
    def __init__(self, name):
        super().__init__()  ## 继承QThread
        self.name = name ## 取出主程序传过来的参数name

    def run(self):
        result = self.name  ## 此处放你的函数功能,我以返回电影名为例
        self.display_signal.emit(result)

这样,function就写好了,接下来就是在主程序中调用这个function的问题了,你可以在主程序中定义一个函数,如下

def search(self, name):
    try:
        self.search_movieThread = Search_movie(name) ##调用多线程
        self.search_movieThread.display_signal.connect(self.movieresult_display)#此处是将display_signal的返回值交给你定义的功能使用
        self.search_movieThread.start()  ##启动多线程
    except:
        self.movieresult_display("网络不太好啊,加载不出来呀...")
def movieresult_display(self, msm):##msm 是display_signal传回来的值
    QMessageBox.information(self, '搜索成功', '结果是{0}'.forma(msm)) ##放入你自己的功能,我这里以显示一个弹窗为例

这样,多线程就写好了,你可以通过将search绑定到按钮或者其他信号槽来调用他。

这篇文章也可以在微信公众号’微电脑’中查看,点击查看

下面是我自己运营的微信小程序“但行趣事”和公众号“微电脑”,更多的技术文章以及视频我会放到小程序和公众号当中,有志同道合的小伙伴也可以在小程序(联系客服按钮)或者公众号(直接留言)当中联系我们

但行趣事小程序
微电脑公众号
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

请叫我雯子小姐的小爷

是雯子吖

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

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

打赏作者

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

抵扣说明:

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

余额充值