Menü-Beschriftung als Parameter übergeben

Fragen zu Tkinter.
Antworten
Gast

Hallo zusammen!

Würde gerne wissen, ob mein Problem in Tkinter gelöst werden kann.
Bei Start meines Programms werden mehrere Menü-Einträge erzeugt. Die Beschriftungen dieser Einträge stellen Datei-Pfade dar. Diese Pfade werden aus einem Text-File ausgelesen. Wird einer dieser Einträge ausgewählt, soll eine Funktion ausgeführt werden, welche die entsprechenden Dateien bearbeitet. Die Beschriftung des Eintrags (=der Pfad) muss als Parameter übergeben werden und genau das ist der Hacken.
Wie mache ich das? Wenn man einen Eintrag auswählt, wird nicht ein mal ein Event erzeugt.
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Warum übergibst Du den Pfad nicht gleich bei der Erstellung des Menüs?

Code: Alles auswählen

from Tkinter import *

def print_path(path):
	print path

pfade = ["erster_pfad", "zweiter_pfad"]

root = Tk()

menubar = Menu(root)
pathmenu = Menu(menubar)
pathmenu.add_command(label=pfade[0],command=lambda : print_path(pfade[0]))
pathmenu.add_command(label=pfade[1],command=lambda : print_path(pfade[1]))
menubar.add_cascade(label="Pfade",menu=pathmenu)
root.config(menu=menubar)

mainloop()
Gruß, mawe
Gast

Mensch, bin ich doof! Warum bin ich blos nicht darauf gekommen?

Danke, mawe.
Antworten