小编0la*_*laf的帖子

在PyQT中使用QThread进行串行通信(带有p​​yserial)

关于GUI编程,我几乎是一个初学者。我将QT与python绑定(PyQT4)结合使用。

我正在尝试做的是:

  • 设置一个QThread使用pyserial读取和写入串行端口的端口。
  • 主应用程序应该能够通过运行中的信号发出新的串行数据QThread。并通过QThread信号从接收串行数据 。

我基于此代码(Link)开始了自己的测试实现。在此之前,我阅读了有关QThread的基础知识,并试图了解如何使用它们。以下测试代码是我提出的。对不起,我试图将其保持在最低水平,但仍然是75行代码:

from PyQt4 import QtCore, QtGui
import time
import sys

class SerialData(QtCore.QObject):
    def __init__(self, message):
        super(SerialData, self).__init__()
        self.__m = message
    def getMsg(self):
        return self.__m

class SerialCon(QtCore.QObject):

    finished = QtCore.pyqtSignal()
    received = QtCore.pyqtSignal(SerialData)

    def init(self):
       super(SerialCon, self).__init__()
       # TODO setup serial connection:
       # setting up a timer to check periodically for new received serial data
       self.timer = QtCore.QTimer()
       self.timer.setInterval(400)
       self.timer.timeout.connect(self.readData)
       self.timer.start(200)
       # self.finished.emit()

    def readData(self):
       self.received.emit(SerialData("New …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt pyserial qthread

5
推荐指数
1
解决办法
8556
查看次数

标签 统计

pyqt ×1

pyserial ×1

python ×1

qt ×1

qthread ×1