كيف أشاهد منفذ تسلسلي باستخدام QSocketNotifier (Linux)؟

StackOverflow https://stackoverflow.com/questions/789304

  •  16-09-2019
  •  | 
  •  

سؤال

هل يمكن لشخص ما أن يعطيني مثالا على كيفية إعداد QSocketyNotifier لإطلاق حدث ما إذا كان هناك شيء ما / dev / ttys0 ب (يفضل أن يكون في python / pyqt4)

هل كانت مفيدة؟

المحلول

إليك مثال أن يجعل القراءة فقط من ملف باستخدام 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_()

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top