0

PyQt5 プロジェクトに QtSerialPort を使用しようとしていますが、魔法が見つかりません。現在、コードはポートを開いているようですが、ポートに書き込もうとすると「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 エラーの原因、またはトラブルシューティング方法について何か考えはありますか? このコードを実行すると、同じエラーが発生しますか?

4

0 に答える 0