tcl/Tk でウィンドウをドッキング可能にする方法はありますか?
Tcl 8.4 を使用していますが、アップグレードはオプションではありません。
wm manage
コマンドにサブコマンドとwm forget
サブコマンドを導入したTk 8.5からのみ可能wm
です。
詳細については、 TIP #125または最近の Tk マンページを参照してください。
Tcl 8.4 は 11 年後にサポートが終了しました。最後のリリースは 8.4.20 でした。その行に対する更新はこれ以上ありません。
wm manage
との簡単な例wm forget
:
package require Tk 8.5
proc undock {b widget} {
wm manage $widget
$b configure -command [list dock $widget] -text "Dock"
}
proc dock {b widget} {
wm forget $widget
grid $widget -sticky news
$b configure -command [list undock $widget] -text "Undock"
}
frame .docked
button .docked.undock -command { undock .docked.undock .docked } -text "Undock"
grid .docked -sticky news
grid .docked.undock -sticky news