2

/dev/ttyS0に何かが発生した場合にイベントを発生させるように QSocketNotifier を設定する方法の例を教えてください。(できれば python/pyqt4 で)

4

1 に答える 1

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_()

于 2009-04-26T00:15:44.750 に答える