PyQt5-多线程的使用

2023-11-04

PyQt中的多线程,它能实现多任务,让界面用一个线程更新,让逻辑代码在另外一个线程中,互不影响
如果不使用多线程的话,在运行一个时间较长的代码时,程序会卡住

使用多线程

import sys
import time

from PyQt5 import uic
from PyQt5.Qt import QApplication, QWidget, QThread


class MyThread(QThread):
    def __init__(self):
        super().__init__()
	
	# 开启线程后默认执行
    def run(self):
        for i in range(10):
            print("执行....%d" % (i + 1))
            time.sleep(1)


class MyWin(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.ui = uic.loadUi("./thread-1.ui")

        # 从ui文件中加载控件
        lineedit = self.ui.lineEdit
        btn1 = self.ui.pushButton
        btn2 = self.ui.pushButton_2

        # 给2个按钮绑定槽函数
        btn1.clicked.connect(self.click_1)  # 绑定槽函数
        btn2.clicked.connect(self.click_2)  # 绑定槽函数

    def start_thread(self):
        self.my_thread = MyThread()  # 创建线程
        self.my_thread.start()  # 开始线程


if __name__ == "__main__":
    app = QApplication(sys.argv)
    myshow = MyWin()
    myshow.ui.show()
    app.exec()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyQt5-多线程的使用 的相关文章

随机推荐

  • [译] LLVM IR中间码指令集

    最近在研究这个东西 实在百度不到 最后在谷歌上找到英文手册 英文手册地址 https llvm org docs LangRef html 先说点废话 国内的IT水平离世界顶级水平差距实在有点大 个人感觉 有些因素导致这个结果 1 化身广告
  • 控制工程学习2

    前言 此文为个人学习笔记 所学习的视频链接 1 https www bilibili com video BV1hV411v7KB p 29 share source copy web 2 https www bilibili com vi
  • 快速实现Lora通信(一对多)详解

    TOC 一 Lora介绍 Lora不是一种协议 而是一种基于扩频通信的射频技术 它相对于其他射频技术比如2 4G或普通433 915M来讲 具有更远的传输距离 几千米 和更强的越障性能 所以我们把一个Lora设备作为中心点 多个Lora设备
  • https://www.cnblogs.com/wenwenli/p/8301975.html

    https www cnblogs com wenwenli p 8301975 html 单线程 单进程 非阻塞 事件驱动 句柄就是函数 事件驱动模型 事件源 触发事件 监听事件程序 事件处理程序 路径的要求不严格 node的知识点 1
  • 使用 WSL 在 Windows 上安装 Linux 编程

    使用 WSL 在 Windows 上安装 Linux 编程 近年来 随着开源软件的盛行和跨平台开发的需求不断增长 Windows Subsystem for Linux WSL 成为了一个备受瞩目的工具 WSL 允许我们在 Windows
  • pycharm设置中文,字体颜色修改,设置背景图片(图文讲解)

    目录 1 设置中文 2 设置背景图片 3 字体大小 颜色的修改 这个是我的pycharm编译器的样子 好看吧 pycharm在安装之后默认是英语的 有些小伙伴的英语不太会 看英文会比较吃力 这里我来教大家怎么去设置中文 以及字体颜色大小 背
  • 客户端client 突然断电了,那么服务器如何快速的知道呢

    1 使用定时器 适合有数据流动的情况 2 使用socket选项SO KEEPALIVE 适合没有数据流动的情况 心跳包技术 心跳包之所以叫心跳包是因为 它像心跳一样每隔固定时间发一次 以此来告诉服务器 这个客户端还活着 事实上这是为了保持长
  • elementui el-tree多层级数据递归根据条件筛选(禁用指定节点)

    项目中用的是elementui的tree组件 要实现的效果是根据关键字去筛选过滤出禁用的节点 所以首先需要的是对树结构数据进行整合 export function deepFilter3 nodes key query Array isAr
  • Android WebView 的使用

    WebView webView WebView findViewById R id webView webView loadUrl http 192 168 1 3 8080 action stream webView setWebView
  • 程序员如何写好一篇技术文章?

    结合自身写作经历以及本次训练营直播分享的内容 谈一谈写作技巧以及程序员如何写好一篇技术文章 1 写作训练营回顾 2020 年 12 月 26 日下午 我参加了一个写作训练营的直播 活动内容如下 该训练营是以直播的方式开展 四位嘉宾给大家分享
  • 图像识别ImageRecognition

    图像识别 注意 cv2中的色彩排列是 b g r 而matplotlib库中的排列方式是 r g b 本文件中采用plt进行输出 因此颜色不是准确的颜色 1 OpenCV 机器视觉 import cv2 as cv import numpy
  • 02C++11多线程编程之detach传参详解

    02C 11多线程编程之detach传参详解 这篇文章将介绍我们在使用detach时如何传参给子线程 1 detach传参为引用 include
  • 深度之眼(一)绪论和环境配置

    1 课程目标 缺乏语言基础 语言不够简洁 逻辑性差 规范性差 代码冗长 高效 解决相同问题 代码用时更长 占用内存更多 和强壮 容错性能差 知识体系不够完整 平时学习到知识点比较分散 用到了才去学习 人工智能和网络爬虫是python应用最多
  • 一个网站服务器有多少个ip,一个服务器可以有多少个ip地址

    一个服务器可以有多少个ip地址 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 会话保持 指负载均衡器可以识别客户与服务器
  • 通过高通平台简单总结的权限问题

    android 5 x开始 引入了非常严格的selinux权限管理机制 我们经常会遇到因为selinux权限问题造成的各种avc denied困扰 有时候我们在添加了一些驱动或应用的时候 发现不能用 但是程序本身查不出问题来 那就要抓log
  • 详解JAVA远程debug

    目录 1 什么是远程debug 2 远程debug普通JAVA程序 环境 测试程序 程序启动指令 编译器配置 3 远程debug JAVA Web程序 4 远程debug spring boot程序 1 什么是远程debug 远程debug
  • 2021.11.17网上商城项目01

    网上商城项目 数据库 Unity 1 导入Unity连接数据库的插件 插件已上传 有需要的同学可以自行下载 2 先创建一个工具类用于数据库的连接 更新 读取 以及数据库的连接 读取的关闭 这样就可以不用每次都写 减少了代码的冗余 需要使用数
  • TCP/IP协议栈各层涉及到的协议

    21 tcp FTP 文件传输协议 22 tcp SSH 安全登录 文件传送 SCP 和端口重定向 23 tcp Telnet 远程连接 80 tcp HTTP 443 tcp HTTPS 计算机各层网络协议 五层 应用层 典型设备 应用程
  • jsp页面中文乱码解决方法

    在运行jsp页面时 发现本该出现中文的地方 出现的是乱码 中文乱码出现的原因一般是编码不符 检查一下代码 可以看到
  • PyQt5-多线程的使用

    PyQt中的多线程 它能实现多任务 让界面用一个线程更新 让逻辑代码在另外一个线程中 互不影响 如果不使用多线程的话 在运行一个时间较长的代码时 程序会卡住 使用多线程 import sys import time from PyQt5 i