# Demo_mit_StaticText&TextCtrl.py # basiert auf Demobeispiel_bearbeitet.py ## Einbau von Beschriftung und Textfeld import wx ### --------------------------------------------------- class Gui(wx.Frame): def __init__( self, parent, ID, title, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE ): wx.Frame.__init__(self, parent, ID, title, pos, size, style) panel = wx.Panel(self, -1) ### Label und TextCtrl self.label1 = wx.StaticText(panel, -1, "Ein/Ausgabe") self.label1.SetPosition((155, 15)) self.textCtrl1 = wx.TextCtrl(panel, -1, "noch ohne Inhalt", size=(205, -1)) self.textCtrl1.SetPosition((155, 45)) self.Bind(wx.EVT_TEXT, self.EvtText, self.textCtrl1) # sinnvoll? ### Menu-Abschnitt # Prepare the menu bar menuBar = wx.MenuBar() # erstes Menue dateiMenu = wx.Menu() dateiMenu.Append(101, "Oeffnen") dateiMenu.Append(102, "Speichern") dateiMenu.AppendSeparator() dateiMenu.Append(103, "Beenden") # Add menu to the menu bar menuBar.Append(dateiMenu, "Datei") # zweites Menue neuMenu = wx.Menu() neuMenu.Append(201, "Stuhl", "") neuMenu.Append(202, "Tisch", "") neuMenu.Append(203, "Schrank", "") ##neuMenu.AppendSeparator() # Add menu to the menu bar menuBar.Append(neuMenu, "&Moebel") self.SetMenuBar(menuBar) ### Menu events self.Bind(wx.EVT_MENU, self.OnOeffnen, id=101) self.Bind(wx.EVT_MENU, self.OnSpeichern, id=102) self.Bind(wx.EVT_MENU, self.OnBeenden, id=103) ## Korrektur self.Bind(wx.EVT_MENU, self.OnStuhl, id=201) self.Bind(wx.EVT_MENU, self.OnTisch, id=202) self.Bind(wx.EVT_MENU, self.OnSchrank, id=203) ### Button-Abschnitt button = wx.Button(panel, 1003, "Beenden") button.SetPosition((155, 115)) self.Bind(wx.EVT_BUTTON, self.OnBeenden, button) ### Fensterereignis self.Bind(wx.EVT_CLOSE, self.OnCloseWindow) ### Ereignisbehandlung ### ### TextCtrl def EvtText(self, event): print('EvtText') ### Menu-Abschnitt def OnOeffnen(self, event): self.textCtrl1.SetValue('Oeffnen angeklickt') def OnSpeichern(self, event): self.textCtrl1.SetValue('Speichern angeklickt') def OnStuhl(self, event): self.textCtrl1.SetValue('erzeuge Stuhl angeklickt') def OnTisch(self, event): self.textCtrl1.SetValue('erzeuge Tisch angeklickt') def OnSchrank(self, event): self.textCtrl1.SetValue('erzeuge Schrank angeklickt') ### Button-Abschnitt def OnBeenden(self, event): self.Close(True) def OnCloseWindow(self, event): self.Destroy() ### --------------------------------------------------- class RaumplanerApp(wx.App): """Anwendung fuer Raumplaner""" def OnInit(self): self.fenster = Gui(None, 1000, "Raumplaner") self.SetTopWindow(self.fenster) self.fenster.Show(True) return True ### --------------------------------------------------- if __name__ == '__main__': app = RaumplanerApp(redirect=False) app.MainLoop()