ловить нажатия на кнопку «х» с помощью Tk Tcl - PullRequest
4 голосов
/ 02 ноября 2011

Я использую Tcl / Tk для создания графического интерфейса для среды Linux, и я увидел, что можно «поймать» нажатие на кнопку «х» окна (кнопка в правом верхнем углу, которая закрываетпрограмма).

Как я могу поймать эти события?

Ответы [ 2 ]

7 голосов
/ 02 ноября 2011

Чтобы получить контроль над запросами на удаление окна, настройте подходящий обработчик протокола:

wm protocol . WM_DELETE_WINDOW {
    if {[tk_messageBox -message "Quit?" -type yesno] eq "yes"} {
       exit
    }
}

Поведение по умолчанию (т. Е. Если обработчиком протокола является пустая строка) - это просто destroy верхний уровень, к которому был сделан запрос.

5 голосов
/ 02 ноября 2011

Привязать к WM_DELETE_WINDOW «сообщению протокола» с помощью команды wm protocol .

Также обратите внимание, что если вы просто хотите отслеживать разрушение окна (на более высоком уровне), просто привяжите к его событию <Destroy>.

...