Befehl in der Menüleiste wird schon beim Starten ausgeführt
Verfasst: Dienstag 15. September 2015, 11:56
Hallo,
ich habe mir ein Formular erstellt und wollte dieses jetzt noch mit einer Meüleiste ergänzen. Dazu habe ich den folgenden Code eingebaut (Nur ein Auszug, den Kern des Programms habe ich mir gespart).
Das Problem ist, das ich beim laden des Programmfensters gleich der Befehl
ausgeführt wird. Danach ist der Menüeintrag Datei/Neu ohne Funktion.
Ich hoffe mir kann jemand erklären was da schief läuft.
Grüße
Nobbe
ich habe mir ein Formular erstellt und wollte dieses jetzt noch mit einer Meüleiste ergänzen. Dazu habe ich den folgenden Code eingebaut (Nur ein Auszug, den Kern des Programms habe ich mir gespart).
Code: Alles auswählen
from tkinter import *
from tkinter import messagebox
import menu_functions
class GUI(Frame):
def __init__(self, mainformular):
Frame.__init__(self, mainformular, relief=SUNKEN, bd=2)
self.menubar = Menu(self)
menu = Menu(self.menubar, tearoff=0)
self.menubar.add_cascade(label="Datei", menu=menu)
menu.add_command(label="Neu", command=menu_functions.writedata("Test"))
menu = Menu(self.menubar, tearoff=0)
self.menubar.add_cascade(label="Bearbeiten", menu=menu)
menu.add_command(label="Ausschneiden")
menu.add_command(label="Kopieren")
menu.add_command(label="Einfügen")
try:
self.master.config(menu=self.menubar)
except AttributeError:
self.master.tk.call(master, "config", "-menu", self.menubar)
# Restlicher Code
#Fenster erzeugen
root = Tk()
root.geometry('1000x800')
fenster = GUI(root)
root.mainloop()
Code: Alles auswählen
menu.add_command(label="Neu", command=menu_functions.writedata("Test"))
Ich hoffe mir kann jemand erklären was da schief läuft.
Grüße
Nobbe