49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import serial
 | ||
| import serial.tools.list_ports
 | ||
| import threading
 | ||
| import time
 | ||
| import json
 | ||
| import socket
 | ||
| from PyQt5.QtCore import *
 | ||
| from PyQt5.QtGui import *
 | ||
| from PyQt5.QtWidgets import *
 | ||
| import sys
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| class protu(QObject):
 | ||
|     # 进度信号,ip,1~100
 | ||
|     rate_signal =pyqtSignal([int])
 | ||
|     # 结束信号,ip,成败,描述
 | ||
|     end_signal = pyqtSignal([bool,str])
 | ||
|     # 接收到数据信号
 | ||
|     recv_signal =pyqtSignal([int,bytearray,str])
 | ||
| 
 | ||
|     def __init__(self) -> None:
 | ||
|         QObject.__init__(self)
 | ||
|         self.app = QApplication(sys.argv)
 | ||
| 
 | ||
|     def wait_in_thread(self):
 | ||
|         print("wait int thread")
 | ||
|         while(True):
 | ||
|             self.recv_signal.emit(0,bytearray(),"ok")
 | ||
|             print("in wait")
 | ||
|             time.sleep(1)
 | ||
|     def start_thread(self):
 | ||
|         self.recv_signal.connect(self.recv_slot)
 | ||
|         self.thread_ = threading.Thread(target=self.wait_in_thread, args=())
 | ||
|         self.thread_.start()
 | ||
|         self.recv_signal.emit(0,bytearray(),"ok")
 | ||
|         sys.exit(self.app.exec())
 | ||
|     def recv_slot(self,ack:int,data:bytearray,err:str):
 | ||
|         print("recv slot")
 | ||
| 
 | ||
| 
 | ||
| pro=protu()
 | ||
| pro.start_thread()
 | ||
| 
 | ||
| 
 | 
