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