如何使用QSocketNotifier(linux)观看串口?

ako*_*sch 2 python qt serial-port pyqt4

如果/ dev/ttyS0上有什么东西,有人可以给我一个关于如何设置QSocketNotifier来触发事件的例子吗?(最好是在python/pyqt4中)

PAG*_*PAG 5

这是一个使用QSocketNotifier继续读取文件的示例.只需将'foo.txt'替换为'/ dev/ttyS0'就可以了.


import os

from PyQt4.QtCore import QCoreApplication, QSocketNotifier, SIGNAL


def readAllData(fd):
        bufferSize = 1024
        while True:
                data = os.read(fd, bufferSize)
                if not data:
                        break
                print 'data read:'
                print repr(data)


a = QCoreApplication([])

fd = os.open('foo.txt', os.O_RDONLY)
notifier = QSocketNotifier(fd, QSocketNotifier.Read)
a.connect(notifier, SIGNAL('activated(int)'), readAllData)

a.exec_()

Run Code Online (Sandbox Code Playgroud)