2014-11-26 3 views
0

Как я могу создать один и тот же gui каждый раз, нажав кнопку без закрытия текущего?Создать новое окно в tcl/tk

wm title . "abcd" 
wm geometry . 50x50 
pack [button .b -text "new"] 

Пожалуйста, помогите мне.

+0

Что произойдет, когда первый GUI будет закрыт? Должны ли все остальные создавать нажатием кнопки «новый»? – Jerry

+0

Да, все окна будут закрыты. –

ответ

2

Команда toplevel создает новое окно для вас, чтобы поместить виджеты в Это хорошая идея, чтобы использовать процедуру для создания общего графического интерфейса пользователя в этом окне:.

wm title . "abcd" 
wm geometry . 50x50 
pack [button .b -text "new" -command makeWindow] 
set counter 0 

proc makeWindow {} { 
    # Make a unique widget name 
    global counter 
    set w .gui[incr counter] 

    # Make the toplevel 
    toplevel $w 
    wm title $w "This is $w" 

    # Put a GUI in it 
    pack [label $w.xmpl -text "This is an example"] 
    pack [button $w.ok -text OK -command [list destroy $w]] 
} 

Каждый из этих окон, которые делают это как независимые или зависимые от других, как вы хотите. Это зависит от того, как вы пишете код, упорядочиваете переменные, разрабатываете обратные вызовы и т. Д.

+0

Это прекрасно работает. Спасибо, Донал. –

Смежные вопросы