python暂停和恢复_python – 暂停和恢复QThread

我正在尝试暂停QThread并恢复它.

所以,我在QThread中有一个RFID读取循环,我想在阅读器获得RFID代码时暂停无限循环.之后,有一个数据库检查.在检查结束时,我想恢复RFID阅读循环以获取其他代码.

MVCE:

def main():

global Thread

app = QtGui.QApplication(sys.argv)

main = Main()

Thread = RFID_Thread()

Thread.rfid_event.connect(Main().on_event)

Thread.start()

sys.exit(app.exec_())

class Main(object):

def __init__(self):

self.accueil = MainWindow(self)

self.access = AccessWindow()

self.accueil.show()

def on_event(self, data):

# I WANT TO PAUSE THE QTHREAD HERE

###################################

# CHECKING DB & SHOWING UI #

###################################

# AND RESUME IT HERE

class RFID_Thread(QtCore.QThread):

rfid_event = pyqtSignal(str, name='rfid_event')

def run(self):

while 1:

ser = serial.Serial(port=Serial_Port, baudrate=Serial_Baudrate)

a = ser.read(19).encode('hex')

ser.close()

if len(a) <> 0:

Code = a[14:]

self.rfid_event.emit(Code)

time.sleep(2)

if __name__=='__main__':

main()

代码无法再现,因为您需要RFID阅读器,但我们可以通过这两行来模拟他,而不是打开串口并从中读取数据:

a = "**************e20030654408021520403f4b"

time.sleep(4)

我试图使用状态变量,但它不起作用.

解决方法:

最后我自己解决了这个问题

MVCE:

def main():

global Thread

app = QtGui.QApplication(sys.argv)

main = Main()

Thread = RFID_Thread()

Thread.rfid_event.connect(Main().on_event)

Thread.start()

sys.exit(app.exec_())

class Main(object):

def __init__(self):

self.accueil = MainWindow(self)

self.access = AccessWindow()

self.accueil.show()

def on_event(self, data):

# I WANT TO PAUSE THE QTHREAD HERE

Thread.Pause = False

###################################

# CHECKING DB & SHOWING UI #

###################################

# AND RESUME IT HERE

Thread.Pause = True

class RFID_Thread(QtCore.QThread):

rfid_event = pyqtSignal(str, name='rfid_event')

Pause = True

def run(self):

while 1:

if Pause:

ser = serial.Serial(port=Serial_Port, baudrate=Serial_Baudrate)

a = ser.read(19).encode('hex')

ser.close()

if len(a) <> 0:

Code = a[14:]

self.rfid_event.emit(Code)

time.sleep(2)

else:

continue

if __name__=='__main__':

main()

最后,状态变量是解决方案!!

标签:python,pyqt,pyqt4,qthread

来源: https://codeday.me/bug/20190702/1360083.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

date format 精辟讲解

link: http://stackoverflow.com/questions/19533933/nsdateformatter-how-to-convert-wed-23-oct-2013-045615-gmt-to-local-time转载于:https://www.cnblogs.com/ouyangfang/p/4028508.html

python怎么给画布填上颜色_python numpy matplotlib画小方块填充背景色和添加不同色彩的文字...

需要根据不同的数值生成不同色彩的小方块&#xff0c;并标明数值&#xff0c;考虑到各种色彩的方块&#xff0c;如果采用文字采用黑色或者白色总是避免不了和背景色重复&#xff0c;所以把数值转化成rgb(0x11,0xf0,0x3b)类似的值&#xff0c;然后文字采用rgb(255-0x11,255-0xf0…

LeetCode 1755. 最接近目标值的子序列和(状态枚举 + 双指针)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums 和一个目标值 goal 。 你需要从 nums 中选出一个子序列&#xff0c;使子序列元素总和最接近 goal 。 也就是说&#xff0c;如果子序列元素和为 sum &#xff0c;你需要 最小化绝对差 abs(sum - goal) 。 返回 abs(sum …

python简单实践作业答案_python入门实践四:爬取牛客网面试专项练习题及答案

说明:个人练手python用。操作系统&#xff1a;window10 x64IDE&#xff1a;Pycharm 2017.2.2Python版本&#xff1a;3.6.2目标牛客网是一个IT笔试面试的平台&#xff0c;提供了很多题库&#xff0c;今天我们使用python爬取其中的Java专项练习库。步骤1、接口抓取&#xff1a;如…

路由器距离向量算法计算举例_路由器基本原理是什么 路由器基本发展情况介绍【图文】...

PLC路由器原理和ARR路由器基本原理要实现网络中通信节点彼此之间的通信&#xff0c;首先必须给每个节点分配一个唯一的IP地址。路由器应该至少有两个网络端口&#xff0c;分别连接LAN或者WAN子网上&#xff0c;每个端口必须具有一个唯一的IP地址&#xff0c;并且要求与所连接IP…

Git 常用命令整理(持续更新)

#配置 git config --global user.name "Your Name" git config --global user.email "emailexample.com" #注意git config命令的--global参数&#xff0c;用了这个参数&#xff0c;表示这台机器上所有的Git仓库都会使用这个配置&#xff0c;当然也可以对某…

LintCode MySQL 1918. 第二高的球员的身高

文章目录1. 题目2. 解题1. 题目 编写一个 SQL 语句&#xff0c;获取球员 (players) 表中第二高的身高 (height) 表定义: players (球员表) https://www.lintcode.com/problem/1918 2. 解题 if(a,b,c), a true&#xff0c;执行 b&#xff0c; 否则 c -- Write your SQL Que…

matlab多种分配方案_基于MATLAB的水资源优化分配问题动态规划解法

基于MATLAB的水资源优化分配问题动态规划解法摘要&#xff1a;介绍了动态规划的基本原理&#xff0c;针对水资源分配问题进行了动态规划方法分析。针对具体问题采用逆序解法的表格法进行了计算&#xff0c;然后用matlab编制了相应的计算程序进行计算&#xff0c;避免了繁琐的人…

python中使用opencv_如何在Python中使用OpenCV Stitcher类?

你正确使用它,因为某些原因导致进程失败. 结果元组的第一个值是错误代码,0表示成功.这里你得到1,这意味着,根据stitching.hpp,这个过程需要更多的图像. enum Status { OK 0, ERR_NEED_MORE_IMGS 1, ERR_HOMOGRAPHY_EST_FAIL 2, ERR_CAMERA_PARAMS_ADJUST_FAIL 3 }; ERR_NEE…

《高可用MySQL》2 – 单机版MySQL主从配置

这里搭建的主从是最简单的单一主从复制&#xff08;即一个Master和一个slave&#xff0c;没有任何的热机备份和多slave&#xff09;&#xff0c;该主从结构的基本拓扑图如下所示&#xff1a; 建立基本的主从复制可以总结为以下三个基本步骤&#xff1a; 配置master服务器配置sl…

LintCode MySQL 1936. 张三的故事 III

文章目录1. 题目2. 解题1. 题目 记者调查发现&#xff0c;张三所在学校还有一金牌教师&#xff0c;其所带的学生毕业后人均知名学府。 记者对该老师所教的学生的情况产生了好奇。 students 表中记录了学生的姓名以及班级 (class_id)&#xff0c;classes 表中记录了班级的名称以…

语言4位bcd码怎么加加_S7300400如何使用SCL语言调用SFC1(READ_CLK)读取日期和时间?...

系统功能 SFC1 用于读取 CPU 的系统时钟。系统时钟存储在数据类型为DATE_AND_TIME的变量里。通过指针访问系统时钟的单个组成元素。数据类型DATE_AND_TIME所包含的关于年、月、日、时等信息是以 BCD 码的格式存储在 8 个字节里。该数据类型显示的范围是&#xff1a;DT#1990-1-1…

php数据库操作命令精华大全

1、表结构//列信息2、表数据//行信息3、表索引//把列中的行加到索引中&#xff08;一般情况下一个表一定要把id这一列的所有数据都加到主键索引中&#xff09; 2、[dos下]关闭mysql:net stop mysql开启mysql:net start mysql登陆mysql:mysql -uroot -p123 --teec:\mysql.log查看…

python装饰器与闭包_python 装饰器和闭包

装饰器 就是函数 功能是为其他函数添加附加功能 def timer(func): def inner(*args,**kwargs): print("执行装饰器") return func(*args,**kwargs) return inner 使用装饰器 timer def test(l): for i in range(l): print(i) test(100) 函数也可以成为对象 l test .…

LintCode MySQL 1932/1933. 挂科最多的同学 I / II

文章目录1. 题目2. 解题1. 题目 exams 表中存放着同学们的考试记录 请用 SQL 语句&#xff0c;找到挂科数最多的同学所对应的 student_id https://www.lintcode.com/problem/1932 2. 解题 -- Write your SQL Query here -- -- example: SELECT * FROM XX_TABLE WHERE XXX…

python 画三角函数_python,将三角函数绘制成二维数组

看起来a, b, c是常量&#xff0c;z是a和{}之间的np.linspace。在a 1 b 2 c 3 def triangle (z, a a, b b, c c): y np.zeros(z.shape) y[z < a] 0 y[z > c] 0 first_half np.logical_and(a < z, z < b) y[first_half] (z[first_half]-a) / (b-a) second…

python中遍历列表enumerate函数_python遍历序列enumerate函数浅析

enumerate函数用于遍历序列中的元素以及它们的下标。enumerate函数说明&#xff1a;函数原型&#xff1a;enumerate(sequence, [start0])功能&#xff1a;将可循环序列sequence以start开始分别列出序列数据和数据下标即对一个可遍历的数据对象(如列表、元组或字符串)&#xff0…

SuperSlide

SuperSlide 致力于解决网站大部分特效展示问题&#xff0c;使网站代码规范整洁&#xff0c;方便维护更新。网站上常用的“焦点图/幻灯片”“Tab标签切换”“图片滚动”“无缝滚动”等只需要一个SuperSlide即可解决&#xff01;从此无需网上苦苦寻觅特效&#xff0c;无需加载n个…

LeetCode 1758. 生成交替二进制字符串的最少操作数(DP)

文章目录1. 题目2. 解题1. 题目 给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s 。 一步操作中&#xff0c;你可以将任一 ‘0’ 变成 ‘1’ &#xff0c;或者将 ‘1’ 变成 ‘0’ 。 交替字符串 定义为&#xff1a;如果字符串中不存在相邻两个字符相等的情况&#xff0c;那…

python内置的集成开发工具是什么_python内置的集成开发工具是什么_后端开发

go语言之goroute协程_后端开发 协程&#xff08;coroutine&#xff09;是Go语言中的轻量级线程实现&#xff0c;由Go运行时&#xff08;runtime&#xff09;管理。下面就来由go入门教程栏目介绍一下go语言中的goroute协程。python内置的集成开发工具是什么 Python自带的集成开发…