Запускает полноэкранный режим для окон — wxPython #27

Иногда вам нужно создать приложение, которое будет разворачиваться на весь экран сразу после запуска. В данной статье я расскажу вам как реализовать эту возможность, а также как сделать ваше приложение полноэкранным. Таким образом ваш конечный пользователь будет видеть только само приложение, без дополнительных строк или рамок (например, панели задач).

Разворачиваем рамку на весь экран

Как я уже отметил во вступлении, может случится так, что ваше wxPython приложение должно будет развернуться на весь экран сразу же во время первой загрузки. Или же, вы захотите максимизировать саб-фрейм. Это довольно просто сделать, используя wxPython. Однако, здесь есть один весьма интересный момент, который достоин подробного рассмотрения. Давайте сначала взглянем на код целиком, а уже потом обсудим тот фрагмент.

У нас довольно стандартный set up, в котором используются два класса, один является подклассом wx.Panel, а второй – подклассом wx.Frame. Чтобы привести его к Maximize, мы просто вызываем метод фрейма, который называется Maximize().

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

А вот теперь и наступает момент, о котором мы говорили выше. Если вы вызываете Maximize() до того, как вызвали Show(), вам может выбить сообщение о сбое. Например, когда я в первый раз вызывал Maximize на Windows 7, рамка не растягивалась так, чтобы покрывать всю панель корректно. Вы можете увидеть это на скриншоте ниже.

Запускает полноэкранный режим для окон - wxPython #27

Как вы видите, рамка отображается только справа и снизу. Я говорю о фрагментах, которые закрашены тёмно-серым. Но, если вы запустите код, пример которого я предоставлял выше, то всё будет покрыто так, как должно, а это значит – весьма стандартно. Пожалуй, это единственна проблема на Windows, которая вызывает у меня реальные опасения. На Mac OS X El Capitan всё работает отлично.

Также бывают случаи, когда вам нужно вызвать метод фрейма под названием Raise(), чтобы ваше приложение отображалось поверх остальных, или же, чтобы хотя бы заставить значок в панели задач мерцать, привлекая внимание пользователя.

Делаем ваше приложение полноэкранным

Лично я не нашёл много способов применения для запуска полноэкранного режима (читай: растягивания приложения на весь экран), за исключением скринсейвера или же приложения для просмотра изображений. Но, как бы то ни было, вот вам довольно простой вариант реализации данной возможности:

Учтите, что, когда приложение развёрнуто во весь экран, вы лишаете пользователя удобного способа выхода из него, так как нет панели заголовка. Поэтому, я решил сделать так, чтобы пользователь мог выйти из приложения использую клавишу Escape.

Примечание: этот пример может не работать на некоторых платформах.

Итоги:

К этому момент вы уже должны были ознакомиться с тем, как развернуть приложение на весь экран или же сделать его полноэкранным сразу после запуска. Лично я чаще замечал подобную возможность в приложениях для Mac, так что думаю, что статья больше пригодится тем, кто пишет для данной ОС.