4
我想做一個應用程序不斷觀看串口並根據從端口接收到的輸入更改用戶界面。我已經設法在Linux下使用pyserial讀取端口中的行,但我不確定如何以常規方式執行此操作:創建單獨的線程並檢查計時器事件上的輸入?我如何確保我不會錯過任何東西? (實施某種握手/協議似乎對此有點矯枉過正......)最重要的是:我如何使用qt4的設施來完成這項工作?pyqt4和pyserial
編輯:這就是我現在正在做的(我想與應用程序運行的剩餘部分,而不是等待定期做)
class MessageBox(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
ser = serial.Serial('/dev/ttyS0', 9600, bytesize=serial.EIGHTBITS,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
timeout=None,
xonxoff=0,
rtscts=0,
interCharTimeout=None)
self.label = QtGui.QLabel(ser.readline(), self)
self.label.move(15, 10)
ser.close()
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Authentication')
self.color = QtGui.QColor(0, 0, 0)
self.square = QtGui.QWidget(self)
self.square.setGeometry(120, 20, 100, 100)
self.square.setStyleSheet("QWidget { background-color: %s }" % self.color.name())