Полноэкранный режим с Тк

Можно ли создать какой-нибудь полноэкранный режим (например, без заголовка окна) в приложениях Tk?


person Karsten W.    schedule 09.09.2010    source источник


Ответы (2)


Раньше я использовал трюк wm overrideredirect в своем коде. Недавно я обнаружил, что в Ubuntu есть ошибки. Не уверен, почему, может быть, проблема с гномом, может быть, проблема с glx. В настоящее время я использую:

wm attributes . -fullscreen 1

который до сих пор работает на Windows и Linux. Не тестировал на Mac, хотя не понимаю, почему это не сработает.


ОК, прочитайте справочную страницу. В нем говорится, что он работает на Windows, OSX (Quartz) и X11.


Дополнительная информация

для тех, кто мне не поверил

На странице руководства говорится:

 -fullscreen
         Places the window in a mode  that  takes  up  the  entire
         screen,  has  no borders, and covers the general use area
         (i.e. Start menu and taskbar on Windows, dock and menubar
         on OSX, general window decorations on X11).

что, по-видимому, подразумевает, что украшения окна (заголовок и т. д.) удаляются в режиме -fullscreen. И по моему реальному опыту (я только что проверил свой код 2 секунды назад), похоже, это имеет место в Windows и Ubuntu (linux). Не знаю, верно ли это для OSX, но справочная страница говорит, что так и должно быть.

Если это не так на какой-либо платформе, то я считаю, что это ошибка в документации. В этом случае на справочной странице должно быть четко указано, на какой платформе не удаляются оконные украшения.

person slebetman    schedule 09.09.2010
comment
То, что вы предлагаете, не удаляет строку заголовка окна, требование, которое является частью исходного вопроса. - person Bryan Oakley; 09.09.2010
comment
Действительно? Он удаляет строку заголовка на моей машине. wm attribute . -zoomed 1 не удаляет строку заголовка, -fullscreen с другой стороны удаляет все украшения. - person slebetman; 09.09.2010
comment
Примечание. Когда я говорю «на своей машине», я имею в виду как Ubuntu, так и WindowsXP. - person slebetman; 09.09.2010
comment
@slebetman: я исправлен. На моем Mac он не удаляет заголовок, но, возможно, это ошибка, исправленная в более поздних версиях. Спасибо за разъяснения! - person Bryan Oakley; 09.09.2010
comment
Когда вы говорите Mac, вы имеете в виду Classic или OSX? В руководстве упоминается только OSX, а новые функции Tk больше не поддерживают Classic. - person slebetman; 09.09.2010
comment
@Bryan: он удаляет заголовок и док-станцию ​​(ну, удаляет, когда я тестирую), но только, когда окно находится в фокусе/активировано. - person Donal Fellows; 10.09.2010

Да. Вы хотите установить флаг overrideredirect на верхнем уровне.

toplevel .top
wm overrideredirect .top 1

Если вы запускаете это в интерактивном режиме, вам нужно убрать окно, и они деиконифицируют его, чтобы у оконного менеджера была возможность удалить рамку из окна.

Это только удаляет украшения оконного менеджера. Вам нужно управлять размером как отдельным шагом обычным способом.

Для получения дополнительной информации см. справочную страницу команды wm.

person Bryan Oakley    schedule 09.09.2010