скрыть и показать рамку в tcl tk gui

Я хочу сделать рамку, которую можно скрывать и показывать попеременно. Проблема в том, что Tk не предоставляет никакой команды скрытия/развертывания. Я использую vtcl, и там есть опция "Window hode", которая скрывает только окно на верхнем уровне. Теперь я хочу скрыть фрейм и позже показать тот же фрейм снова. Это можно представить как распаковку одного фрейма и показ другого. Мой код может выглядеть так:

proc show1hide2 { } {
    global i top
    if {$i == 1} {
        unpack $top.frame1
        pack $top.frame2
        set i 0
    } else {
        unpack $top.frame2
        pack $top.frame1
        set i 1
    }
}

В этой процедуре, $top.frame1 и $top.frame2 были ранее заполнены и значение $i переключается, поэтому $top.frame1 и $top.frame2 показываются альтернативно, когда вызывается эта процедура. Я хочу знать, существует ли команда типа unpack, которая может помочь мне сделать это? Кстати, unpack - это просто идея.

5
задан Donal Fellows 18 October 2011 в 09:07
поделиться