pyqt5多线程优化_6. PyQt5 中的多线程的使用(上)

本文介绍了PyQt5中多线程的重要性和使用方法,通过一个示例解释了如何创建线程以防止GUI界面在执行耗时操作时冻结。在例子中,展示了如何启动线程并在主线程中更新UI,强调了信号和槽函数在多线程中的作用。
摘要由CSDN通过智能技术生成

这一节引入了多线程这个非常重要概念, 在我认为多线程的重要性是紧紧次于信号与槽函数的, 因为在平时经常使用

1. 为什么要用多线程

先看下面这一个示例代码

6.1

from form import Ui_Form

from PyQt5.QtWidgets import *

import sys

import time

class MyWin(QWidget,Ui_Form):

"""docstring for Mywine"""

def __init__(self):

super(MyWin, self).__init__()

self.setupUi(self)

def test(self): # 这里test就是槽函数, 当点击按钮时执行 test 函数中的内容, 注意有一个参数为 self

for i in range(10):

self.pushButton.setText(str(i))

time.sleep(1)

if __name__ == '__main__':

app = QApplication(sys.argv)

mywin = MyWin() # 实例化一个窗口小部件

mywin.setWindowTitle('Hello world!') # 设置窗口标题

mywin.show() #显示窗口

sys.exit(app.exec())

代码很简单, 就是点击按钮后, 将按钮的内容设置为 0, 然后等待一秒后 再设置 为1, 如此循环, 一直设置到 9, 这个过程结束

但是在实际运行的过程中点击按钮后就没有反应了, 一直等待 10 秒后直接

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值