Я создаю небольшой фрагмент графического интерфейса, который должен быть заполнен для продвижения потока. То, что я хочу, чтобы создать процедурный, который создает графический интерфейс пользователя и возвращает 1 или 0, когда GUI закрыт, а затем поток продолжается, как это:Возможно ли создать графический интерфейс, возвращающий значение с помощью Tcl?
first part of the code
...
...
if {![open_gui]} {
return
}
second part of the code
...
...
Графический интерфейс прост 3 записи с сохраняемый и отменяют кнопки , если нажата кнопка сохранения, тогда некоторые значения должны быть сохранены в модели данных и функция для возврата 1, если нажата кнопка отмены или графический интерфейс закрыт, закрыв окно, тогда ничего не должно произойти, и proc для возврата 0.
Возможно ли это?
Прямо сейчас, что я сделал, это разбить код на два слоя, (и code_part_2
) Я запускаю первую часть, затем открываю графический интерфейс, а кнопка сохранения вызывает вторую часть, а отмена просто закрывает графический интерфейс:
code_part_1
open_gui_split
и функция open_gui_split
является:
proc open_gui_split {} {
# ...
set save_b [button $win.save_b -text save -command [list code_part_2]
# ...
}
* - Весь код представлен только представление архитектуры, а не реальный код.
Возможно выпрямить путаницу кода, которая возникает из всего этого, используя сопрограммы Tcl 8.6, но это гораздо более сложная тема в другое время. –