在TCL / TK中使用menubutton在同一窗口中创建下拉菜单

时间:2013-09-03 10:10:44

标签: tcl tk

我正在尝试在TCL / TK中创建一个下拉菜单。我遇到了一些例子并尝试过,代码如下所示

. configure  -width  400 -height 400 
label .header -text "Bitfields"
place .header -x 5 -y 0
entry .name -textvar username 
label .username -text "F_name"
place .name -x 60 -y 20
place .username -x 2 -y 20

toplevel .win
menu .win.menubar
.win configure -menu .win.menubar

set m .win.menubar
menu $m.w_axs
$m add cascade -menu $m.w_axs -label W_AXS
$m.w_axs add command -label "write" -command "write"
$m.w_axs add command -label "read" -command "write"

这是创建一个单独的窗口,但我需要在与其他条目相同的窗口中。尝试谷歌搜索答案,但找不到任何答案。

1 个答案:

答案 0 :(得分:4)

简单:不要创建新的顶层,将菜单添加为.窗口的后代。

. configure  -width  400 -height 400 
label .header -text "Bitfields"
place .header -x 5 -y 0
entry .name -textvar username 
label .username -text "F_name"
place .name -x 60 -y 20
place .username -x 2 -y 20

menu .menubar
. configure -menu .menubar

set m .menubar
menu $m.w_axs -tearoff 0
$m add cascade -menu $m.w_axs -label W_AXS
$m.w_axs add command -label "write" -command "write"
$m.w_axs add command -label "read" -command "write"

PS:我添加了-tearoff 0,你可能想要这个。 (默认情况下为1,支持支持/中继的旧应用程序)