Tkinter Menu菜单 (disable 菜单命令)
Python Tkinter Menu菜单
-
Menu小部件用于在python应用程序中创建各种类型的菜单(顶级,下拉和弹出)
-
顶级菜单是显示在父窗口标题栏下方的菜单。我们需要创建Menu小部件的新实例,并使用add()方法向其添加各种命令
-
语法
- 可能的选项列表
选项 | 描述 |
---|---|
activebackground | 窗口小部件在焦点下时窗口小部件的背景颜色。 |
activeborderwidth | 小部件在鼠标下方时边框的宽度。默认值为1像素。 |
activeforeground | 窗口小部件具有焦点时窗口小部件的字体颜色。 |
bg | 小部件的背景颜色。 |
bd | 小部件的边框宽度。 |
cursor | 鼠标指针在悬停窗口小部件时更改为光标类型。光标类型可以设置为箭头或点。 |
disabledforeground | 禁用时窗口小部件的字体颜色。 |
font | 小部件文本的字体类型。 |
fg | 小部件的前景色。 |
postcommand | 命令可以设置为当mourse悬停菜单时调用的任何函数。 |
relief | 窗口小部件的边框类型。默认类型为RAISED。 |
image | 用于在菜单上显示图像。 |
selectcolor | 用于在选中时显示checkbutton或radiobutton的颜色。 |
tearoff | 默认情况下,菜单中的选项从位置1开始。如果我们设置0,那么选项将从第0位开始。 n. 可按虚线拆下的纸片;tearoff=1 代表显示分隔虚线;teartoff=0 代表取消分隔虚线 |
title | 如果要更改窗口标题,请将此选项设置为窗口标题。 |
- 方法
- “菜单”窗口小部件包含以下方法
方法 | 描述 |
---|---|
add_command(options) | 用于将菜单项添加到菜单中。 |
add_radiobutton(options) | 此方法将radiobutton添加到菜单中。 |
add_checkbutton(options) | 此方法用于将复选框添加到菜单中。 |
add_cascade(options) | 用于通过将给定菜单与父菜单相关联来为父菜单创建分层菜单。 |
add_seperator() | 用于将分隔线添加到菜单中。 |
add(type,options) | 用于将特定菜单项添加到菜单中。 |
delete(startindex,endindex) | 用于删除指定范围内存在的菜单项 |
entryconfig(index,options) | 它用于配置由给定索引标识的菜单项。 |
index(item) | 用于获取指定菜单项的索引 |
insert_seperator(index) | 用于在指定的索引处插入分隔符。 |
invoke(index) | 它用于调用与指定索引处给出的选项相关联。 |
type(index) | 它用于获取索引指定的选择类型。 |
举例
#!/usr/bin/env python # _*_ coding:utf-8 _*_ from tkinter import * # 定义一个顶级大窗口 root = Tk() # 在大窗口下定义一个顶级菜单实例 menubar = Menu(root) # 在顶级菜单实例下创建子菜单实例 fmenu = Menu(menubar) for each in ['新建', '打开', '保存', '另存为']: fmenu.add_command(label=each) vmenu = Menu(menubar) # 为每个子菜单实例添加菜单项 for each in ['复制', '粘贴', '剪切']: vmenu.add_command(label=each) emenu = Menu(menubar) for each in ['默认视图', '新式视图']: emenu.add_command(label=each) amenu = Menu(menubar) for each in ['版权信息', '联系我们']: amenu.add_command(label=each) # 为顶级菜单实例添加菜单,并级联相应的子菜单实例 menubar.add_cascade(label='文件', menu=fmenu) menubar.add_cascade(label='视图', menu=vmenu) menubar.add_cascade(label='编辑', menu=emenu) menubar.add_cascade(label='关于', menu=amenu) # fmenu.delete('新建') fmenu.entryconfig('新建', state=DISABLED) # 修改属性 entryconfig(index,options) 它用于配置由给定索引标识的菜单项。 # 顶级菜单实例应用到大窗口中 root['menu'] = menubar root.mainloop()
Python Tkinter Menu控件使用详解
参考 https://www.jb51.net/article/235372.htm