Могу ли я узнать, максимизировано ли мое окно верхнего уровня, и могу ли я его максимизировать программным путем? Я использую пакет tcltk версии 8.5 для Windows XP.Tcl/Tk: Развернуть окно/определить, если окно максимально?
Причина в том, что я хочу обеспечить выполнение события <Visibility>
, позвонив сначала изъять и затем деинифицировать. Однако, если окно было максимизировано перед этими двумя вызовами функций, это не происходит после этих вызовов. Есть ли более простой способ обеспечить соблюдение этого события?
BTW, я использую синтаксис Tcl; вам может понадобиться конвертировать для R (о котором я совершенно не осведомлен). –
R эквивалент вашей команды tkwm.state (toplvl) и работает просто отлично! Что вы подразумеваете под «отображаемым окном»? Цель, которую я связываю с, заключается в следующем: у меня есть окно с кнопкой «Обновить» и ноутбук под этой кнопкой. Теперь я хочу выполнить некоторый код после того, как пользователь нажимает кнопку обновления на текущей выбранной вкладке и на других вкладках всякий раз, когда они выбраны. Решение работает сейчас, насколько я могу видеть, но если есть что-то более естественное, я действительно хотел бы знать. –
@Karsten: Если вы используете ноутбук из набора виджета ttk, вы получаете событие «<< NotebookTabChanged >>» (виртуальное), когда выбрана другая вкладка. Блокнот ttk сообщает, какая вкладка выбрана с помощью '$ nb select' (и никаких дополнительных аргументов). http://www.tcl.tk/man/tcl8.5/TkCmd/ttk_notebook.htm#M29 –