使用菜单
菜单是由两个元素一个是菜单按钮,另一个是菜单列表。菜单列表是用户点击菜单按钮之后出现的,而菜单按钮是应用中始终显示的内容。
菜单按钮的创建格式为w = tk.Menubutton(parent, option=value, ...)。常用的配置属性有。
direction,指示菜单列表出现在菜单按钮的那个方向上。menu,指定菜单按钮点击后对应的菜单列表。textvariable,指定菜单按钮的控制变量,StringVar类型。
菜单列表的创建格式为w = tk.Menu(menubutton, option=value, ...)。菜单列表中的内容可以有文字或图片指令、复选框、单选框以及子菜单选项。菜单列表常用的方法有。
.add(kind, coption, ...),向菜单列表中添加指定类型的新元素,元素类型可以是cascade(子菜单列表,相当于调用.add_cascade())、checkbutton(复选框,相当于调用.add_checkbutton())、command(普通菜单项,相当于调用add_command())、radiobutton(单选框,相当于调用.add_radiobutton())、separator(分隔线,相当于调用add_separator())。
创建菜单时的coption配置可以使用以下常用属性。
accelerator,快捷键设置。command,点击是要执行的函数。label,菜单文字内容。image,菜单图片内容。menu,子菜单内容。variable,复选框和单选框使用的控制变量设置。
对于macOS来说,菜单一般是显示在顶级窗口上的,也就是桌面顶部的共享菜单栏。这种需求下,可以将菜单的parent设置为顶级窗口,即调用.winfo_toplevel()的返回结果。Windows和Linux中使用这样设置菜单列表,可以获得应用全局菜单栏。