PyQt5 QtSerialPort错误QSocketNotifier:指定了无效的套接字

时间:2016-08-30 23:56:18

标签: qt pyqt pyqt5 qtserialport

我正在尝试将QtSerialPort用于PyQt5项目,但还没有找到魔法。现在代码似乎打开了端口,但每当我尝试写入端口时,我都会收到“QSocketNotifier:指定的套接字无效”错误。这是最新的代码:

#!/usr/bin/env python3

from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtSerialPort import QSerialPort, QSerialPortInfo

class QtSerialTest():

    def __init__(self):
        super(QtSerialTest, self).__init__()

        self.serinfo = QSerialPortInfo()
        p = self.serinfo.availablePorts()
        for pport in p:
            print(pport.portName())

        portname = p[0].portName()
        self.ser = QSerialPort(portname)
        self.ser.setBaudRate(9600)
        print(self.ser.isOpen())
        self.ser.setOpenMode(QSerialPort.ReadWrite)
        print(self.ser.isOpen()) 

        self.ser.writeData(b'Test')

if __name__=='__main__':
    ser = QtSerialTest()

我机器上此代码的输出是:

ttyUSB0
ttyUSB1
ttyUSB2
ttyUSB3
ttyUSB4
ttyUSB5
ttyUSB6
ttyUSB7
False
True
QSocketNotifier: Invalid socket specified

知道导致QSocketNotifier错误的原因是什么,或者如何排除故障?如果你运行这段代码,你会得到同样的错误吗?

0 个答案:

没有答案