python und tkinter – Dateimenü erstellen

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()