делает окно непригодным для использования при открытии нового окна с помощью Tcl / Tk

#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, обычно в современном графическом интерфейсе лучше вообще не использовать модальные диалоги.