ich habe meine GUI erstellt, welche folgendes Muster besitzt.
Code: Alles auswählen
#Laden einzubindender Module
import GUI_support
def vp_start_gui():
GUI().mainloop()
class GUI(tk.Tk):
def __init__(self, **kwargs):
tk.Tk.__init__(self, **kwargs)
#Setzen des Hauptmenüs für das Programm
self.MainMenu = MenuGUI(self)
self['menu'] = self.MainMenu
#Setzen der Toolbar
self.Toolbar = ToolbarGUI(self)
self.Toolbar.place(relx=0.0, y=0.0, height=contentframeheigth+4, relwidth=1.0)
self.Toolbar.configure(relief=GROOVE)
self.Toolbar.configure(borderwidth="2")
#Setzen der DatenEingabe
self.DatenEingabe = DatenEingabeGUI(self)
#self.DatenEingabe.place(relx=0.0, y=contentframeheigth, relheight=1.0, relwidth=1.0)
class MenuGUI(tk.Menu):
def __init__(self, parent, **kwargs):
tk.Menu.__init__(self, parent, **kwargs)
global Lang
Lang = IntVar()
global CheckA, CheckB, CheckC, CheckD
CheckA = IntVar()
CheckB = IntVar()
CheckC = IntVar()
CheckD = IntVar()
datei = tk.Menu(self, tearoff=0, activebackground = _bgcolor)
self.add_cascade(menu=datei, label=languagefile[0])
datei.add_command(command=GUI_support.NewFile, label=languagefile[1])
datei.add_command(command=self.action, label=languagefile[2])
datei.add_command(command=self.action, label=languagefile[3])
datei.add_command(command=self.action, label=languagefile[4])
datei.add_command(command=self.action, label=languagefile[5])
datei.add_separator()
datei.add_command(command=self.action, label=languagefile[6])
datei.add_separator()
datei.add_command(command=self.action, label=languagefile[7])
class ToolbarGUI(tk.Frame):
def __init__(self, parent, **kwargs):
tk.Frame.__init__(self, parent, **kwargs)
#hier nicht dargestellt, um Code kurz zu halten
class DatenEingabeGUI(tk.Frame):
def __init__(self, parent, **kwargs):
tk.Frame.__init__(self, parent, **kwargs)
#hier nicht dargestellt, um Code kurz zu halten
if __name__ == '__main__':
vp_start_gui()
Code: Alles auswählen
def NewFile():
#Loeschen alter Daten und Laden neuer Form
for widget in GUI().DatenEingabe.winfo_children(): #löschen aller Einträge
widget.destroy()
GUI().DatenEingabe = DatenEingabeGUI(self)
GUI().DatenEingabe.place(relx=0.0, y=contentframeheigth, relheight=1.0, relwidth=1.0)
Kann mir da jemand weiterhelfen?
Grüße von Stefan