Tkinter之Menu组件用法

Tkinter之Menu组件用法

    开发工具类桌面应用使用Python、Java这类语言是一种不错的选择,他们的GUI库都可以很好的支持跨平台特性。本系列博客主要总结Tkinter库中提供的UI组件,关于Java的GUI开发,感兴趣的可以在如下系列博客中找到:

https://my.oschina.net/u/2340880/blog?catalog=5647945&temp=1509528194945

    Tkinter中有提供Menu菜单组件中可以添加如下几种组件:

1_动作项:简单的行为按钮,用户点击后会执行相应的方法。

2_子菜单:行为完整的子菜单项。

3_控制按钮:可有选中与非选中状态,用来做开关。

4_单选列表:一组单选按钮。

    为一个窗口添加菜单十分容易,示例代码如下:

root = Tk()
rootMenu = Menu(root)
root.config(menu=rootMenu)

item = Menu(master=rootMenu,postcommand=call,tearoff=1)
rootMenu.add_cascade(menu=item,label="File")
item.add_command(label='new File')
subItem = Menu(item)
subItem.add_command(label="Open in noew window")
item.add_cascade(menu=subItem,label="Open")

效果如下图所示:

Menu构造函数中第1个参数可以传入菜单所属的窗口或者父菜单,后面可以添加一些菜单配置,例如:

属性意义
activebackground活跃时的背景色
activeborderwidth活跃时的边框宽度
activeforeground活跃时的前景色
bg 或者 background正常状态背景色
bd 或者 borderwidth正常状态变宽宽度
cursor鼠标样式
disabledforeground无效状态的前景色
font菜单字体
fg 或者 foreground正常状态的前景色
postcommand设置菜单被唤出时的回调
relief设置菜单浮雕效果
selectcolor设置菜单选中颜色
tearoff可以设置为0和1,表示此菜单是否可以独立出来
tearoffcommand菜单独立被触发时的回调
title可设置独立菜单的标题

需要注意,在MacOS系统上,菜单的样式是由系统维护的,上面的大多属性都将没有效果。

    下面这些方法用来进行菜单配置:

#添加一个子菜单 coption为配置选项
add_cascade(coption...)
#添加一个切换按钮 coption为配置选项
add_checkbutton(coption...)
#添加一个功能按钮 coption为配置选项
add_command(coption...)
#添加一个单选按钮 coption为配置选项
add_radiobutton(coption...)
#添加一个分割线
add_separator()
#删除index1 到 index2之间的选项
delete(index1,index2)
#获取菜单某一项的属性值
entrycget(index,coption)
#重新配置菜单中某项的属性
entryconfigure(index,coption...)
#返回参数位置对应的选项索引
index(i)
#在指定位置插入一个子菜单
insert_cascade(index,coption...)
#在指定位置插入一个切换按钮
insert_checkbutton(index,coption...)
#在指定位置插入一个功能按钮
insert_command(index,coption...)
#在指定位置插入一个单选按钮
insert_radiobutton(index,coption...)
#在指定位置插入一个分割线
insert_separator(index)
#代码手动调用一次某个选项
invoke(index)
#在窗口指定位置弹出菜单
post(x,y)
#获取个选项的类型
type(index)
#获取某个选项距离菜单顶部的偏移量
yposition(n)
#添加一个选项 可以是功能按钮,切换按钮,单选按钮或子菜单,由类型确认
#类型可选 cascade checkbutton command radiobutton separator
add(kind,coption)

上面列举方法中的coption用来进行一些配置项的设置,可选配置项如下:

属性名意义
accelerator设置快捷键
activebackground激活状态背景色
activeforeground激活状态前景色
background正常状态背景色
bitmap设置bitmap图标
columnbreak设置分列
command设置激活时的回调函数
compound设置展示文本和图标是的布局方式
font设置字体
foreground设置正常状态的前景色
hidemargin设置是否隐藏外边距 设置True或False
image设置图片 gif格式
label  设置显示的文本 
menu这个选项只用在添加子菜单中
offvalue设置checkbutton关闭时的值
onvalue设置checkbutton开启时的值
selectcolor设置选中状态的颜色
selectimage设置选中状态的图像
state   设置选项状态,DISABLED或ACTIVE
underline 设置下划线
value选项的值
variable用于单选按钮或切换按钮

 

转载于:https://my.oschina.net/u/2340880/blog/1559980

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值