Tkinter - 如何在菜单栏中创建子菜单

con*_*sed 3 python tkinter menubar submenu python-3.3

可能吗?通过查看我难倒的选项.在网上搜索并没有把我带到任何地方.我可以在菜单栏中创建子菜单.当我点击文件并转到最近的文件时,我指的是做类似于Idle Shell的操作,它会拉出一个单独的文件,显示我打开的最近文件.

如果不可能,我必须使用它来使其工作?

Bry*_*ley 12

您完全按照向菜单栏添加菜单的方式执行此操作add_cascade.这是一个例子:

# Try to import Python 2 name
try:
    import Tkinter as tk
# Fall back to Python 3 if import fails
except ImportError:
    import tkinter as tk

class Example(tk.Frame):
    def __init__(self, root):
        tk.Frame.__init__(self, root)
        menubar = tk.Menu(self)
        fileMenu = tk.Menu(self)
        recentMenu = tk.Menu(self)

        menubar.add_cascade(label="File", menu=fileMenu)
        fileMenu.add_cascade(label="Open Recent", menu=recentMenu)
        for name in ("file1.txt", "file2.txt", "file3.txt"):
            recentMenu.add_command(label=name)


        root.configure(menu=menubar)
        root.geometry("200x200")

if __name__ == "__main__":
    root = tk.Tk()
    Example(root).pack(fill="both", expand=True)
    root.mainloop()
Run Code Online (Sandbox Code Playgroud)

  • 使用选项`tearoff=False` (2认同)