Um mit Python und Tkinter ein Dateimenü (also eine Menüleiste mit dem Menüpunkt „Datei“) zu erstellen, gehst du wie folgt vor:
Schritt-für-Schritt-Anleitung
1. Tkinter importieren und Fenster erstellen
import tkinter as tk
from tkinter import Menu
2. Hauptfenster anlegen
root = tk.Tk()
root.title("Mein Programm mit Dateimenü")

3. Menüleiste und Dateimenü erstellen
menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
4. Menüeinträge hinzufügen
def neue_datei():
print("Neue Datei erstellt.")
def oeffnen():
print("Datei geöffnet.")
def speichern():
print("Datei gespeichert.")
def beenden():
root.quit()
filemenu.add_command(label="Neu", command=neue_datei)
filemenu.add_command(label="Öffnen", command=oeffnen)
filemenu.add_command(label="Speichern", command=speichern)
filemenu.add_separator()
filemenu.add_command(label="Beenden", command=beenden)
5. Dateimenü zur Menüleiste hinzufügen
menubar.add_cascade(label="Datei", menu=filemenu)
6. Menüleiste im Hauptfenster anzeigen
root.config(menu=menubar)
7. Hauptloop starten
root.mainloop()
Komplettes Beispiel
import tkinter as tk
from tkinter import Menu
def neue_datei():
print("Neue Datei erstellt.")
def oeffnen():
print("Datei geöffnet.")
def speichern():
print("Datei gespeichert.")
def beenden():
root.quit()
root = tk.Tk()
root.title("Mein Programm mit Dateimenü")
menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Neu", command=neue_datei)
filemenu.add_command(label="Öffnen", command=oeffnen)
filemenu.add_command(label="Speichern", command=speichern)
filemenu.add_separator()
filemenu.add_command(label="Beenden", command=beenden)
menubar.add_cascade(label="Datei", menu=filemenu)
root.config(menu=menubar)
root.mainloop()

Hinweise
- Mit
add_command
fügst du Menüeinträge hinzu, die jeweils eine Funktion ausführen. - Mit
add_separator()
kannst du eine Trennlinie einfügen. - Mit
add_cascade(label="Datei", menu=filemenu)
wird das Menü in der Menüleiste angezeigt. - Das Menü erscheint ganz oben im Fenster und ist in den meisten Betriebssystemen als klassische Menüleiste sichtbar.
Dieses Grundgerüst kannst du beliebig erweitern, z. B. um weitere Menüs wie „Bearbeiten“ oder „Hilfe“
Ein Menüobjekt für „Über“ anlegen und dann mit add_cascade
hinzufügen, wie beim Dateimenü:
uebermenu = Menu(menubar, tearoff=0)
uebermenu.add_command(label="Über", command=ueber)
menubar.add_cascade(label="Über", menu=uebermenu)
import tkinter as tk
from tkinter import Menu, messagebox
def neue_datei():
print("Neue Datei erstellt.")
def oeffnen():
print("Datei geöffnet.")
def speichern():
print("Datei gespeichert.")
def beenden():
root.quit()
def ueber():
messagebox.showinfo("Über", "Dieses Programm wurde von Mandy Seier erstellt.")
root = tk.Tk()
root.title("Mein Programm mit Dateimenü")
menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Neu", command=neue_datei)
filemenu.add_command(label="Öffnen", command=oeffnen)
filemenu.add_command(label="Speichern", command=speichern)
filemenu.add_separator()
filemenu.add_command(label="Beenden", command=beenden)
menubar.add_cascade(label="Datei", menu=filemenu)
uebermenu = Menu(menubar, tearoff=0)
uebermenu.add_command(label="Über", command=ueber)
menubar.add_cascade(label="Über", menu=uebermenu)
root.config(menu=menubar)
root.mainloop()
