# model import serial class Model(object): def __init__(self): self.s = serial.Serial('/dev/ttyS0') # 1 = COM2, 0 = COM1, ... self.s.setRTS(False) def __del__(self): # schließt sicher die Schnittstelle self.s.close() # view from tkinter import * class View(Tk): def __init__(self,cbEin,cbAus,cbHalt): Tk.__init__(self) # Callbacks self.cbEin = cbEin self.cbAus = cbAus self.protocol("WM_DELETE_WINDOW",cbHalt) # cbHalt wird aufgerufen, wenn das 'X' gedrückt wird # Fenster self.title("RTS") self.geometry('200x100+100+200') # Button self.bTaster = Button(master=self, text="Taster") self.bTaster.bind('',self.cbEin) self.bTaster.bind('',self.cbAus) self.bTaster.place(x=70,y=35) # controller class Controller(object): def __init__(self): self.model = Model() self.view = View(self.schalteEin,self.schalteAus,self.Halt) self.view.mainloop() def schalteEin(self,event): self.model.s.setRTS(True) def schalteAus(self,event): self.model.s.setRTS(False) def Halt(self): # Aufräumarbeiten self.model.s.close() # Schnittstelle schließen self.view.quit() # mainloop beenden self.view.destroy() # Fenster beseitigen # Hauptprogramm c = Controller()