Wenn ich ein Tkinter-Menü unter OS X erstelle und versuche, eine Menüschaltfläche mit add_comand()
hinzuzufügen, wird im Menü nichts angezeigt.Wie funktioniert Menu.add_command() in tkinter auf dem Mac?
Wenn der folgende Code auf Ubuntu ausgeführt wird, erhalte ich eine Menüleiste mit zwei Befehlen mit der Bezeichnung "Rot" und "Blau", die die Hintergrundfarbe des Fensters ändern.
Unter OS X 10.10.1 (Yosemite) werden die Schaltflächen nicht angezeigt. Ich weiß, dass ich mit den Befehlen "Rot" und "Blau" ein Dropdown-Menü erstellen kann, aber in meiner echten App möchte ich das lieber nicht tun.
from platform import python_version_tuple
major = python_version_tuple()[0]
if major == '3':
import tkinter as tk
else:
import Tkinter as tk
root = tk.Tk()
fr = tk.Frame(root, height = 200, width = 200)
fr.pack()
menu = tk.Menu(root)
root.configure(menu=menu)
menu.add_command(label='Red', command=lambda:fr.configure(bg='red'))
menu.add_command(label='Blue', command=lambda:fr.configure(bg='blue'))
root.mainloop()
Können Sie mir sagen, wie ich tun soll, was ich will?
Während dies bei einigen Systemen möglich ist, führt dies zu einer sehr schlechten Benutzerfreundlichkeit für Ihre App, es sei denn, Sie machen sehr genau klar, welche Elemente Menüs und wann Schaltflächen sind. Es ist am besten, nur Dropdown-Menüs auf Ihrer Menüleiste zu haben. –