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 エラーの原因、またはトラブルシューティング方法について何か考えはありますか? このコードを実行すると、同じエラーが発生しますか?