ich würde gern in der Menüleiste meine Optionen verfügbar haben, welche je nach eingelesener Datei unterschiedlich sind. Mit dem Klick auf den Menüeintrag sollte eine Berechnung gestartet werden. Ich verstehe, was passiert und warum es nicht funktioniert, habe allerdings grade keine Ahnung, wie ich auf die korrekte ID/den korrekten Namen zugreifen kann?
Ich habe diese Variante gewählt, da ich keine Möglichkeit gefunden habe, ein Optionsmenü in der Menüleiste einzufügen (ist ja quasi Dasselbe).
Tipps, wie ich das so umsetzen kann? Oder wie ich mein Optionsmenü oben ins Menü rein bekomme?
Grüße Tobias
Code: Alles auswählen
import tkinter as tk
from tkinter import Menu
class Application:
def __init__(self, options):
self.window = tk.Tk()
self.window.title = "test"
self.window.geometry("600x500")
menu = Menu(self.window)
self.window.config(menu=menu)
filemenu = Menu(menu)
menu.add_cascade(label="File", menu=filemenu)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=self.window.destroy)
myOptions = Menu(menu)
menu.add_cascade(label="values", menu=myOptions)
for name, id in options:
myOptions.add_command(label = name, command = lambda: self.calc(id))
def show(self):
self.window.mainloop()
def calc(self, id):
print(str(id)) #immer nur 123
if __name__ == "__main__":
OptionList = [
("aa", 3453),
("bb", 5623),
("cc", 234),
("dd", 123)
]
window = Application(OptionList)
window.show()