Tk - 菜单部件



Tk 菜单部件与 Tk 部件 menubutton 一起使用。因此,我们将首先看到 menubutton。菜单按钮部件的语法如下所示:

menubutton menubuttonName options

菜单按钮选项

菜单按钮部件可用的选项如下表所示:

序号 语法和描述
1

-command action

设置按钮的命令操作。

2

-text text

设置部件的文本。

3

-textvariable varName

与部件关联的变量。当部件的文本更改时,变量将设置为部件的文本。

4

-width number

设置部件的宽度。

5

-menu menuName

指定关联菜单部件的名称。

6

-underline charPosition

设置热键的位置。

菜单的语法如下所示:

menu menuName options

菜单选项

菜单部件可用的选项如下表所示:

序号 语法和描述
1

-font fontDescriptor

用于设置部件的字体。

2

-postcommand action

设置在发布菜单之前要执行的命令操作。

3

-menu menuName

指定关联菜单部件的名称。

4

-tearoff boolean

允许或不允许将菜单从 menubutton 中移除并在永久窗口中显示。默认为启用。

添加 menubutton 的语法如下所示:

menuName add type menubuttonType options

类型包括分隔符、级联、复选按钮、单选按钮和命令。

MenuName 添加选项

MenuName add 可用的选项如下表所示:

序号 语法和描述
1

-command action

设置菜单按钮的命令操作。

2

-menu menuName

指定关联菜单部件的名称。

3

-label string

设置菜单的文本。

4

-variable varName

设置选中此条目时要设置的变量。

5

-value string

为变量设置的值。

6

-underline position

设置热键的位置。

一个简单的 Tk 菜单如下所示:

#!/usr/bin/wish

menubutton .myMenubutton -menu .myMenubutton.myMenu -text "ChangeText"
menu .myMenubutton.myMenu
.myMenubutton.myMenu add command -label Hello -command {set myvariable "Hello"}
.myMenubutton.myMenu add command -label World -command {set myvariable "World"}
pack .myMenubutton
pack [label .myLabel  -text "Select An option" -font {Helvetica -18 bold} -height 5
   -width 15 -textvariable myvariable]

运行以上程序后,我们将得到以下输出:

Menu Example

选择菜单选项后,我们将得到如下所示的输出:

Menu Example Selected
tk_selection_widgets.htm
广告