Как посмотреть последовательный порт с QSocketNotifier (linux)? - PullRequest
2 голосов
/ 25 апреля 2009

Может ли кто-нибудь дать мне пример того, как настроить QSocketNotifier для запуска события, если что-то происходит / dev / ttyS0 ? (желательно в python / pyqt4)

1 Ответ

5 голосов
/ 26 апреля 2009

Вот пример, который просто продолжает чтение из файла, используя 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_()

...