如何在tcl / tk中建立一个可停靠的窗口?

时间:2013-07-22 10:07:50

标签: tcl tk

在tcl / Tk中是否有办法使窗口可以停靠,以便它可以单独存在,或者作为窗口小部件嵌入到另一个窗口中?

我使用Tcl 8.4并且升级不是一种选择。

1 个答案:

答案 0 :(得分:1)

您可以但只能从Tk 8.5开始,它将wm managewm forget子命令引入wm命令。

有关详细信息,请参阅TIP #125或最近的Tk联机帮助页。

Tcl 8.4在11年后达到寿命终止,最后一次发布是8.4.20,将不再有该行的更新。

wm managewm 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