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 に答える