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

用于单选按钮或切换按钮

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏十月梦想

移动端开发样式初始化

在移动端开发,需要解决在移动端下的一些样式初始化,防止在设备出现不同的效果,下面我们看下,需要解决移动端的那些样式需要初始化!

11820
来自专栏欧科云

让你的网站文字“抖”起来

最近听说了一款挺火的软件,叫 “抖音”,发现它的标志有蓝红双色的叠加。我突然想到,我们的网站文字能否做出这个效果,甚至让文字像这个一样抖起来?答案当然是可以的。

11230
来自专栏柠檬先生

jquery mobile 移动web(3)

可折叠功能块。   div 元素的 data-role 属性设置为 collapsible   代码如下:     <div data-role="...

214100
来自专栏别先生

Idea的快捷键,瞎摸索,开心就好,哈哈哈

前言:如果你有强迫症,换了一个编辑器,最痛苦莫过于快捷键,不顺手了。这里自己瞎摸索的快捷键,贴一下,这里主要以实际应用为主,因为大量介绍的网上已经很多很多,S...

30150
来自专栏PPV课数据科学社区

【学习】如何快速批量删除Excel单元格中的“换行符”

在Excel单元格中按Alt+Enter就会进行换行,就像在Word中按回车键一样。如果许多单元格中都包含这样的“换行符”,现在要将其全部删除掉,...

31630
来自专栏林德熙的博客

win10 UWP 全屏 VB 全屏C++ 全屏

win10 可以全屏软件或窗口,窗口有一般、最小化、最大化。我们有新的API设置我们软件是全屏,是窗口。我们可以使用ApplicationView让我们软件全屏...

12410
来自专栏十月梦想

Vue动画封装的两种方式

    js方式我们需要引入之前的velocity.js,所需属性放入tempalate中,在模板的插槽中定义动画三个状态!

30620
来自专栏React Native开发圈

React Native悬浮按钮组件

因为用到了react-native-vector-icons图标组件,需要做下link。如果你项目中已经使用了react-native-vector-icons...

30220
来自专栏极客编程

jQueryMobile快速入门

  jQuery Mobile是jQuery 在手机上和平板设备上的版本。它不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动...

14020
来自专栏吴伟祥

Chrome 键盘快捷键 转

10320

扫码关注云+社区

领取腾讯云代金券