在单击菜单的根目录(即“文件”)时,我很难弄清楚如何关闭python tkinter窗口菜单。
我希望实例化菜单时只有一个命令选项可用,但似乎并非如此。我也知道有一种取消发布的方法可以用来摆脱菜单,但是我不知道如何在根菜单单击时触发它。
编辑:
由于Bryan表示我的菜单应该与操作系统中的其他菜单相同,因此我决定举一个例子说明菜单的工作方式。也许我在这里做错了,但是在其他所有程序的ubuntu上,如果我单击菜单的根目录,它将再次将其关闭。在此程序中,单击根目录不会关闭,只有单击屏幕上的其他位置菜单才会关闭。
import tkinter as tk
import tkinter.messagebox
class App(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.title("App Here")
self.window_menu = tk.Menu(self)
self.filemenu = tk.Menu(self.window_menu, tearoff=0)
self.build_window_menu()
self.config(menu=self.window_menu)
def build_window_menu(self):
self.window_menu.add_cascade(label="File", menu=self.filemenu)
self.filemenu.add_command(label='alert', command=self._handle_menualert)
def _handle_menualert(self):
tk.messagebox.showwarning(
"Menu Stuff",
"I am menu alert!"
)
if __name__ == '__main__':
app = App()
app.mainloop()