一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - PyQt5 QSerialPort子線程操作的實現

PyQt5 QSerialPort子線程操作的實現

2021-02-03 00:56云中蝦 Python

這篇文章主要介紹了PyQt5 QSerialPort子線程操作的實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

環境:

python3.6 pyqt5

只是簡單的一個思路,請忽略脆弱的異常防護:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtSerialPort import QSerialPort, QSerialPortInfo
from PyQt5.QtCore import pyqtSignal, QThread, QObject, QTimer
class SerialWork(QObject):
  def __init__(self):
    super().__init__()
 
  def init(self):
    self.com = QSerialPort()
    self.com.setPortName('COM7')
    self.com.setBaudRate(115200)
    if self.com.open(QSerialPort.ReadWrite) == False:
      return
    self.readtimer = QTimer()
    self.readtimer.timeout.connect(self.readData)
    self.readtimer.start(100)
 
  def readData(self):
    revData = self.com.readAll()
    revData = bytes(revData)
    print('%d read' % len(revData))
 
class PyQt_Serial(QWidget):
  def __init__(self):
    super().__init__()
    self.serialthread = QThread()
    self.serialwork = SerialWork()
    self.serialwork.moveToThread(self.serialthread)
    self.serialthread.started.connect(self.serialwork.init)
    self.serialthread.start()
 
if __name__ == '__main__':
  app = QApplication(sys.argv)
  win = PyQt_Serial()
  win.show()
  sys.exit(app.exec_())

需要注意的地方:

1、對QSerialPort的讀寫操作需要在同一個線程,不能跨線程操作

2、serialwork內不能有死循環,原因可能是死循環阻塞了串口接收事件的傳遞,導致readall函數一直讀不到數據。如果非要加入死循環,在循環內加入QApplication.processEvents()可以讀到串口數據

3、通過這次子線程操作QSerialPort的例程大致了解了兩種QThread使用的陣營:run和moveToThread,哈哈

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/wangmantou/p/8901483.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 办公室强行丝袜秘书啪啪 | 亚洲另类中文字幕 | 无毒成人社区 | 动漫美女被吸乳羞羞小说 | 青草草视频在线观看 | 99精品久久精品一区二区小说 | 国产成人一区二区三区在线视频 | 国产日韩欧美综合一区二区三区 | 菠萝视频5正版在线观看 | 无人区免费一二三四乱码 | 亚洲欧美成人综合久久久 | 免费国产一级观看完整版 | av毛片免费看 | 色帽子影院 | 日韩精品一区二区三区免费视频 | 日韩视频在线精品视频免费观看 | 人人澡 人人澡碰人人看软件 | 亚洲成人在线播放 | 亚洲精品久久久久福利网站 | 亚洲欧美久久一区二区 | 国内剧情麻豆 | 成人国产在线视频 | 欧洲另类一二三四区 | 师尊被各种play打屁股 | 精品视频一区二区三区 | 国产一区在线 | 国产在线精品香蕉综合网一区 | 微拍秒拍99福利精品小视频 | 暖暖在线精品日本中文 | 亚洲国内精品 | 亚洲日日操 | 免费a视频在线观看 | 亚洲色图欧美图片 | 成人在线免费观看 | 日本护士撒尿xxxxhd | 日本国产成人精品视频 | 白丝美女同人18漫画 | 亚洲精品第一国产综合高清 | 欧美艳星julnaann | 精品久久成人免费第三区 | 欧美一级高清免费a |