#user-interface #window #tcl #tk
#пользовательский интерфейс #окно #tcl #tk-toolkit
Вопрос:
Я создаю графический интерфейс с использованием Tk / Tcl. во время использования я создаю новое окно, в котором есть некоторые свойства, которые пользователь может заполнить. Я хочу, чтобы мое главное окно было непригодным для использования в течение всего времени, пока окно свойств не закрыто, и только когда оно закрыто, чтобы вернуть возможность использовать главное окно.
Как мне это сделать?
Я создаю новое окно с помощью toplevel .prop_menu
Ответ №1:
используйте grab
. Смотрите также http://wiki.tcl.tk/grab и http://wiki.tcl.tk/3326
Комментарии:
1. с помощью
grab release .top; grab set .prop_menu;' I was able to "block" the main window, and when I exit the properties window using
grab set .top` возвращает ему управление.2. @Ilya: Обычно в вашей программе не должно быть никаких захватов; при выходе из окна свойств вы должны
grab release .prop_menu
или простоdestroy .prop_menu
(что приведет к удалению захвата, если его удерживать). OTOH, обычно в современном графическом интерфейсе лучше вообще не использовать модальные диалоги.