这是可能的吗?看了选项后我很困惑。在网上搜索也没有得到任何结果。我能在菜单栏中创建子菜单吗?我的意思是当我点击“文件”并向下滚动到“最近打开的文件”时,它会弹出一个单独的文件,显示我最近打开的文件,就像Idle Shell一样。
如果不可能,我需要使用什么才能让它工作?
这是可能的吗?看了选项后我很困惑。在网上搜索也没有得到任何结果。我能在菜单栏中创建子菜单吗?我的意思是当我点击“文件”并向下滚动到“最近打开的文件”时,它会弹出一个单独的文件,显示我最近打开的文件,就像Idle Shell一样。
如果不可能,我需要使用什么才能让它工作?
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()
my_menu=Menu(root) # for creating the menu bar
m1=Menu(my_menu,tearoff=0) # tear0ff=0 will remove the tearoff option ,its default
value is 1 means True which adds a tearoff line
m1.add_command(label="Save",command=saveCommand)
m1.add_command(label="Save As",command=saveAsCommand)
m1.add_command(label="Print",command=printCommand)
m1.add_separator() # this adds a separator line --this is used keep similar options
together
m1.add_command(label="Refresh",command=refreshCommand)
m1.add_command(label="Open",command=openCommand)
my_menu.add_cascade(label="File",menu=m1)
m2 = Menu(my_menu)
m2.add_command(label="Copy all",command=copyAllCommand)
m2.add_command(label="Clear all",command=clearAllCommand)
m2.add_command(label="Undo",command=undoCommand)
m2.add_command(label="Redo",command=redoCommand)
m2.add_command(label="Delete",command=deleteCommand)
my_menu.add_cascade(label="Edit",menu=m2)
#all the values in command attribute are functions
my_menu.add_command(label="Exit", command=quit)
root.config(menu=my_menu)
tearoff=False
- Bryan Oakley