在tcl / Tk中是否有办法使窗口可以停靠,以便它可以单独存在,或者作为窗口小部件嵌入到另一个窗口中?
我使用Tcl 8.4并且升级不是一种选择。
答案 0 :(得分:1)
您可以但只能从Tk 8.5开始,它将wm manage
和wm forget
子命令引入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