QMainWindow多线程demo
来源:互联网 发布:知乎回答怎么取消匿名 编辑:程序博客网 时间:2024/06/14 23:11
# -*- coding: utf-8 -*-from PyQt5 import QtWidgets, QtCoreimport sysfrom PyQt5.QtCore import *import time# 继承QThreadfrom PyQt5.QtWidgets import QMainWindow, QPushButtonclass Runthread(QThread): # python3,pyqt5与之前的版本有些不一样 # 通过类成员对象定义信号对象 _signal = pyqtSignal(str) def __init__(self, parent=None): super(Runthread, self).__init__() def __del__(self): self.wait() def run(self): # 处理你要做的业务逻辑,这里是通过一个回调来处理数据,这里的逻辑处理写自己的方法 # wechat.start_auto(self.callback) for i in range(2000000): # 发出信号 self._signal.emit('当前循环值为:%s' % i) # 让程序休眠 time.sleep(0.5) # self._signal.emit("sdf"); #可以在这里写信号焕发 def callback(self, msg): # 信号焕发,我是通过我封装类的回调来发起的 self._signal.emit(msg);class mywindow(QMainWindow): def __init__(self): super(mywindow, self).__init__() self.setupUi() def setupUi(self): self.btn1 = QPushButton("Button 1", self) self.btn1.setMaximumWidth(200) self.btn1.move(30, 50) btn2 = QPushButton("Button 2", self) btn2.move(150, 50) self.btn1.clicked.connect(self.start_login) # self.btn1.clicked.connect(self.buttonClicked) btn2.clicked.connect(self.start_login) self.statusBar() self.setGeometry(300, 300, 290, 150) self.setWindowTitle('Event sender') self.show() def start_login(self): # 创建线程 self.thread = Runthread() # 连接信号 self.thread._signal.connect(self.callbacklog) # 开始线程 self.thread.start() def callbacklog(self, msg): # 奖回调数据输出到文本框 self.btn1.setText("\n"+ msg+ " "+ time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()));if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) myshow = mywindow() myshow.show() sys.exit(app.exec_())
阅读全文
0 0
- QMainWindow多线程demo
- QMAINWINDOW
- QMainWindow
- 多线程Demo
- 多线程demo
- JAVA多线程demo
- android handler 多线程demo
- 多线程学习Demo
- android handler 多线程demo
- android handler 多线程demo
- 多线程两个小demo
- C#多线程demo
- linux多线程demo
- linux多线程【1】demo
- Linux多线程编程 Demo
- CountDownLatch 多线程demo
- 多线程临界区Demo
- ArrayBlockingQueue调度多线程demo
- 2017/12/12
- 同步,异步,阻塞,非阻塞
- Linux环境下安装RocketMQ(MetaQ)
- Vue基础(列表渲染)
- @RequestParam
- QMainWindow多线程demo
- 视频编解码---x264用于编码,ffmpeg用于解码
- 理解WinRT结构
- angular服务——$myService
- 12月12日-13日,12位阿里大咖解密2017阿里双11技术支撑
- 简单的三位正整数各位数求值
- 【网络流二十四题 试题库问题】【二分图多重匹配->最大流】
- 在乌镇,马化腾、马云、李彦宏、库克他们说的话都在这儿了
- Java学习9:super(隐式参数)关键字内存分析详解及用法