PyQt——分离UI主线程与工作线程

2023-05-16

# -*- coding: utf-8 -*- 

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
    
global sec
sec=0

class WorkThread(QThread):
	trigger = pyqtSignal()
	def __int__(self):
		super(WorkThread,self).__init__()

	def run(self):
		for i in range(2000000000):
			pass
		
		# 循环完毕后发出信号		
		self.trigger.emit()        

def countTime():
	global  sec
	sec += 1
	# LED显示数字+1
	lcdNumber.display(sec)          

def work():
	# 计时器每秒计数
	timer.start(1000)   
	# 计时开始	
	workThread.start()       
	# 当获得循环完毕的信号时,停止计数	
	workThread.trigger.connect(timeStop)  

def timeStop():
	timer.stop()
	print("运行结束用时",lcdNumber.value())
	global sec
	sec=0

if __name__ == "__main__":  	
	app = QApplication(sys.argv) 
	top = QWidget()
	top.resize(300,120)
    
	# 垂直布局类QVBoxLayout
	layout = QVBoxLayout(top) 
    # 加个显示屏    
	lcdNumber = QLCDNumber()             
	layout.addWidget(lcdNumber)
	button = QPushButton("测试")
	layout.addWidget(button)

	timer = QTimer()
	workThread = WorkThread()

	button.clicked.connect(work)
    # 每次计时结束,触发 countTime
	timer.timeout.connect(countTime)      

	top.show()
	sys.exit(app.exec_())

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

PyQt——分离UI主线程与工作线程 的相关文章

  • 为什么需要用 pyqtSlot 装饰连接的槽?

    我正在使用 pyqt5 并且使用类似于以下的代码连接了几种方法 self progress canceled connect self cancel 例如 其中self cancel is def cancel self self time
  • Spyder + Python 3.5 - 如何调试内核死机,重新启动?

    我第一次致力于实现一个非常简单的 GUIPyQt5 其中嵌入了一个matplotlib情节和几个交互按钮 我真的不知道如何使用类 所以我犯了很多错误 即即使功能很简单 我也必须在小的更正和验证之间进行大量迭代 出于某种原因 我想调试 但是
  • 将内容添加到pyqt4滚动区域

    如何将内容添加到 pyqt4 中的滚动区域 我要自定义一个小部件吗 例如 如果我有一个数组或一个列表a 10 2 2 2 22 3 3 3 我应该如何在可滚动区域中显示变量 如果要将内容添加到滚动区域 则需要定义一个新的小部件并将其添加到滚
  • 为 python GUI 应用程序授予 root 权限以在 ubuntu 中运行命令

    现在 我有一个 python GUI 应用程序 需要使用 sudo 权限运行命令 如下所示 import commands iStat askpassPath commands getstatusoutput which ssh askpa
  • 编辑表时关闭 PyQt 事件循环

    我正在使用 PyQt 开发 GUI GUI 有一个 qListWidget 一个 qTableWidget 和一个用 Mayavi 实现的绘图 该列表指的是绘制的形状 例如圆柱体和圆锥体 当在列表中选择形状时 我希望将形状的属性加载到表中
  • 如何在QWebEngineView中指定用户代理

    我正在使用 PyQt5 在网页上实现自动化功能 PyQt5 中显示的页面与 Chrome 中显示的页面有很大不同 如果我要更改用户代理 我可以模仿 Chrome 的功能吗 如果是这样 我将如何更改以下示例中的用户代理 import sys
  • 在调用 'os.system()' 之前仅运行一些语句

    我正在编写一个 Python 程序 该程序具有使用 PyQt5 的 GUI 并且还使用 os system 调用 MATLAB 文件 但是 我的函数之一决定在调用 os system 之前不执行任何与 PyQt 相关的语句 像 print
  • PyQt5:我无法理解 QGraphicsScene 的 setSceneRect(x, y, w, h)

    我看到有人说如果你想把QGraphicsScene的坐标原点放在QGraphicsView的原点 即左上角 您需要让它们具有相同的大小 所以这就是我所做的 import sys from PyQt5 QtWidgets import QAp
  • 在 py2exe 编译的 Python 脚本中启用 QImage 的 JPEG 支持?

    我正在尝试通过 PyQt4 在 Python 脚本的 QImage 对象中使用 JPEG 图像 脚本本身工作完美 图像加载并且可以操作和渲染等等 但是 当我尝试使用 py2exe 编译 此脚本时 除了 JPEG 图像之外 一切正常 用等效的
  • PyQT4 signal.connect 是否使对象保持活动状态?

    如果我有一个信号并且向该信号注册了一个对象函数 这会使该对象保持活动状态并停止该对象的垃圾收集吗 E g class Signals signal Qt pyqtSignal def init self QObject init self
  • 在QT中以不同的时间间隔更新GUI [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道如何在QT中以不同的时间间隔更新GUI 最好的是我可以控制时间间隔 我知道 QTimer 可以在同一时间间隔更新 GUI 但我
  • 将 PyQt5 QPixmap 转换为 numpy ndarray

    我有像素图 pixmap self screen grabWindow 0 self x self y self width self height 我想将其转换为 OpenCV 格式 我尝试将其转换为numpy ndarray如上所述he
  • cx_freeze:QODBC 驱动程序未加载

    我的 python 应用程序如下所示 test py from PyQt4 import QtCore from PyQt4 import QtGui from PyQt4 import QtSql import sys import at
  • PyQt - 如何检查 QDialog 是否可见?

    我有个问题 我有这个代码 balls Ball for i in range 1 10 因此 当我说 Ball 时 这将在 QDialog 上绘制一个球 然后当这完成后 我正在移动球QDialog无限循环中 我想说类似的话while QDi
  • 如何编辑 QProgressBar 的样式表

    我无法在我的应用程序中编辑进度条的颜色 仅编辑文本颜色 pyhton 3 9 PySide6 QT Creator 7 0 2 Python应用程序 https i stack imgur com 6hKFI png import sys
  • 如何将 sql 数据输出到 QCalendarWidget

    我希望能够在日历小部件上突出显示 SQL 数据库中的一天 就像启动程序时突出显示当前日期一样 在我的示例中 它是红色突出显示 我想要发生的是 当用户按下突出显示的日期时 数据库中日期旁边的文本将显示在日历下方的标签上 这是我使用 QT De
  • Pyqt-如何因另一个组合框数据而更改组合框数据?

    我有一个表 有 4 列 这 4 列中的两列是关于功能的 一个是特征 另一个是子特征 在每一列中 所有单元格都有组合框 我可以在这些单元格中打开txt 我想 当我选择电影院作为功能时 我只想看到子功能组合框中的电影名称 而不是我的 数据 中的
  • Pyqt5 中的 QThreads:这是官方 QThread 文档的正确 C++ 到 Python 翻译吗?

    关于如何实例化和使用的官方文档QThread可以在这里找到 http doc qt io qt 5 qthread html http doc qt io qt 5 qthread html 该文档描述了两种基本方法 1 工作对象方法和 2
  • 如何在PYQT中创建按钮点击

    我在 PyQT 中创建按钮单击时遇到了一些问题 当我创建如下按钮的点击时 这张图片无法保存 cv SetImageROI image pt1 0 pt1 1 pt2 0 pt1 0 int pt2 1 pt1 1 1 if self But
  • Python 的高效图像缩略图控制?

    Python GUI 应用程序显示大量缩略图的最佳选择是什么 例如10000 或更多 出于性能原因 此类缩略图控件必须支持虚拟项目 即仅请求应用程序当前对用户可见的那些缩略图 In wxPython http wxpython org 您可

随机推荐

  • Linux重定向和管道符

    Linux重定向和管道符 1 Uid gid是什么 xff1f 2 linux中设置环境变量的几种方法3 管道命令符和通配符4 输入输出重定向 1 Uid gid是什么 xff1f 1 1 用户组 UID以及GID概念 用户组 xff1a
  • OpenFlow概念学习

    前言 OpenFlow交换机将原来完全由交换机 路由器控制的报文转发过程转化为由OpenFlow 交换机和控制服务器来共同完成 xff0c 目的交换机要通过of协议 xff08 OpenFlow Protocol xff09 经 安全通道
  • Ubuntu创建用户(组)与权限管理

    Ubuntu创建用户 xff08 组 xff09 与权限管理 创建用户与用户组创建和删除用户及用户组给用户配置sudo权限用户管理相关的命令 创建用户与用户组 在管理服务器时 xff0c 需要注意用户权限分配 xff0c 这样不会造成重大的
  • docker修改容器与宿主机端口映射

    1 查看容器id docker ps 2 进入容器安装目录 cd var lib docker containers 找到容器对应的文件夹 xff0c 容器id与文件夹前面的id是一样的 进入文件夹 cd 593f0dd680d77e901
  • Prometheus源码学习(1) 编译源码

    代码里面看不明白的变量或者函数可以通过两种方式观测它的值来了解其含义 一种是把代码片段摘出来 xff0c 写到一个测试程序里运行一下另一种时日志里打印它的值来观察 第一种比较简单易行 xff0c 但是代码片段要比较独立才好做 xff0c 第
  • ubuntu的命令&操作

    记录ubuntu系统使用中一些常用的操作 1 在ubuntu终端打开图像界面的文件夹 xff1a cd到指定的目录之后执行nautilus即可 参考 xff1a linux系统ubuntu中在命令行如何打开图形界面的文件夹 李照耀 博客园
  • Leetcode解题目录(Python版)

    Leetcode解题目录 xff08 Python版 xff09 题目目录1 排序算法2 哈希表3 动态规划 题目来源于LeetCode官网题库 xff0c 解题思路参考官网各大佬 xff0c 这里做一个目录方便大家查找 xff0c 另外方
  • error while loading shared libraries: libopencv_imgcorecs.so.3.4:: cannot open shared object file:

    ubuntu16 04的环境下 xff0c 编译成功C 43 43 代码 xff0c 同时也安装好了opencv3 4 在运行时却出现error xff1a error while loading shared libraries libo
  • 基于LQR的车辆LKA算法设计

    记录分享一下基于LQR控制算法的车辆LKA设计 通过carsim和simulink进行联合仿真 1控制算法设计 整体思路是通过车辆以及道路模型 得到控制器的输入 v 纵向速度 r 横摆角速度 y 侧向路径偏移 phi 横摆角误差 通过最优控
  • 软件框架

    1 概念 框架 xff08 framework xff09 是一个框子 指其约束性 xff0c 也是一个架子 指其支撑性 是一个基本概念上的结构 xff0c 用于去解决或者处理复杂的问题 框架这个广泛的定义使用的十分流行 xff0c 尤其在
  • 使用C++开发STM32 FreeRTOS工程与添加DSP库

    续上一篇文章的内容 由CubeMX构建的Makefile工程只支持C和汇编的编译 xff0c 而且FreeRTOS的代码也需要作为C代码编译 当我们想使用C 43 43 时 xff0c 需要做一些准备并且修改Makefile xff1b 另
  • CPU分时、中断和上下文切换

    准备知识 xff1a 实时和分时 嵌入式操作系统可以分为实时操作系统和分时操作系统两类 我们现实之中使用的绝大多数是分时操作系统 xff0c 比如windows或者linux 但是比如汽车就必须使用实时操作系统 xff0c 举一个经常使用的
  • 如何从AD导出PDF原理图

    https jingyan baidu com article 7c6fb428d4759080642c9017 html
  • PyQt ——setStyleSheet用法

    这个是CSS的手册 xff0c 所有的东西都可以参考这里 xff1a https css doyoe com 下面是CSS 的东西 字体属性 xff1a font 大小 font size x large 特大 xx small 极小 一般
  • QMessageBox

    span class token triple quoted string string 39 39 39 简介 PyQt5中 QMessage 例子 39 39 39 span span class token keyword impor
  • QInputDialog

    span class token triple quoted string string 39 39 39 简介 PyQt5中 QInputDialog 例子 39 39 39 span span class token keyword i
  • python cherry 用法

    CheeryPy是一个 Pythonic 的 面向对象的 Web 框架 xff0c 能够用于接受POST或者GET请求并进行回复 CheeryPy中文文档 xff1a Cherrypy 一个极简的python web框架 CherryPy
  • PyQt——简单进度条程序

    span class token keyword from span PyQt5 span class token punctuation span QtCore span class token keyword import span Q
  • PyQt——窗口居中

    span class token comment coding utf 8 span span class token keyword import span sys span class token keyword from span P
  • PyQt——分离UI主线程与工作线程

    span class token comment coding utf 8 span span class token keyword import span sys span class token keyword from span P