3

我正在尝试在 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"

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

4

1 回答 1

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 以支持支持/中继的旧应用程序)

于 2013-09-03T10:36:12.310 回答