Читаем Создание настольных Python приложений с графическим интерфейсом пользователя полностью

И дочерние виджеты перемещаются при изменении положения компоновки.

То есть координаты дочернего виджета остаются такими же, так как они всегда определяются относительно родительской компоновки.

И параметры pos_hint — x, center_x, right, y, center_y и top используются для выравнивания виджета по краям или центрирования независимо от размера окна.

Таким образом, эта компоновка позволяет устанавливать относительные координаты для дочерних виджетов.

Если вам нужно абсолютное позиционирование, используйте FloatLayout.

И в RelativeLayout необходимо указать размер и положение каждого дочернего виджета.



Компоновка PageLayout работает иначе, чем другие макеты.

Эта компоновка позволяет перелистывать страницы, используя свои границы.

Идея состоит в том, что все страницы сложены друг над другом, и мы видим ту страницу, которая находится сверху.

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

wxPython



Библиотека WxPython — это питон обёртка библиотеки C++ графического интерфейса wxWidgets.

Оригинальная библиотека wxWidgets, написанная на C ++, — это огромная библиотека классов.

И классы графического интерфейса пользователя из этой библиотеки переносятся на Python с помощью модуля wxPython, который пытается максимально точно отразить исходную библиотеку wxWidgets.



Для начала работы с библиотекой WxPython, создадим проект в

PyCharm

и в окне терминала наберем команду pip install — U wxPython для установки библиотеки.



Далее создадим файл питона и наберем простой код.



Здесь мы импортируем модуль wx.

Далее мы определяем объект класса Application.

И создаем окно верхнего уровня как объект класса Frame, заголовок и размер которого задаются в конструкторе.

Frame — это наиболее часто используемое окно верхнего уровня, размер и положение которого может быть изменено пользователем.

Оно имеет строку заголовка и кнопки управления.

И при необходимости можно добавить другие компоненты, такие как строка меню, панель инструментов и строка состояния.

Далее мы помещаем объект Panel в Frame.

И добавляем объект StaticText для отображения «Hello World» внутри окна.

И наконец мы активируем окно фрейма методом show и входим в основной цикл событий объекта Application.



Для создания исполняемого файла приложения, можно воспользоваться инструментом PyInstaller.

Установив который с помощью команды pip, можно набрать команду pyinstaller в терминале и получить исполняемый файл.



Фрейм — это окно, размер и положение которого может быть изменено пользователем.

Это окно имеет границы и строку заголовка и может дополнительно содержать строку меню, панель инструментов и строку состояния.

И фрейм может содержать любое другое окно, кроме фрейма или диалога.

Строку состояния, панель инструментов и меню можно добавить с помощью функций setStatusBar, SetToolBar и SetMenuBar.

В меню есть пункты меню.

Пункты меню — это команды, которые выполняют определенное действие внутри приложения.

И в меню также могут быть подменю, в которых есть свои собственные пункты меню.

Для создания меню используются классы MenuBar, Menu и MenuItem.

Здесь мы добавляем пункт меню в объект меню методом Append.

Первый параметр здесь — это идентификатор пункта меню.

Второй параметр — это название пункта меню.

Третий параметр определяет строку, которая отображается в строке состояния при выборе пункта меню.

Метод Append возвращает созданный пункт меню.

Эта ссылка используется для привязки события.

Здесь мы привязываем пункт меню к методу OnQuit. Этот метод закрывает приложение.

В каждом меню также может быть подменю.

Таким образом, мы можем объединять похожие команды в группы.

В меню мы можем разделять команды разделителем с помощью метода AppendSeparator. Это простая линия.

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

Если мы хотим добавить флажок, мы устанавливаем параметр kind как ITEM_CHECK.



Контекстное меню — это список команд, который появляется в некотором контексте.

Например, когда мы щелкаем правой кнопкой мыши на элементе окна, мы видим контекстное меню.

И контекстные меню иногда называют всплывающими меню.

В этом примере мы создаем контекстное меню для главного окна.

В нем два элемента. Пункт меню создается и добавляется к контекстному меню.

И к этому пункту меню может быть привязан обработчик событий.

Если мы щелкнем правой кнопкой мыши на фрейме, мы вызываем метод OnRightDown.

Для этой привязки мы используем событие wx.EVT_RIGHT_DOWN.

В методе OnRightDown мы вызываем метод PopupMenu.

Этот метод показывает контекстное меню.

И контекстные меню появляются в точке наведения курсора мыши.



В меню, которое мы уже рассмотрели, группируются все команды, которые мы можем использовать в приложении.

Панели инструментов обеспечивают быстрый доступ к наиболее часто используемым командам.

Чтобы создать панель инструментов, мы вызываем метод CreateToolBar виджета фрейма.

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

Перейти на страницу:

Похожие книги

Основы информатики: Учебник для вузов
Основы информатики: Учебник для вузов

Учебник состоит из двух разделов: теоретического и практического. В теоретической части учебника изложены основы современной информатики как комплексной научно-технической дисциплины, включающей изучение структуры и общих свойств информации и информационных процессов, общих принципов построения вычислительных устройств, рассмотрены вопросы организации и функционирования информационно-вычислительных сетей, компьютерной безопасности, представлены ключевые понятия алгоритмизации и программирования, баз данных и СУБД. Для контроля полученных теоретических знаний предлагаются вопросы для самопроверки и тесты. Практическая часть освещает алгоритмы основных действий при работе с текстовым процессором Microsoft Word, табличным редактором Microsoft Excel, программой для создания презентаций Microsoft Power Point, программами-архиваторами и антивирусными программами. В качестве закрепления пройденного практического курса в конце каждого раздела предлагается выполнить самостоятельную работу.

Вадим Васильевич Лысенко , Лариса Александровна Малинина , Максим Анатольевич Беляев

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Цифровой журнал «Компьютерра» № 24
Цифровой журнал «Компьютерра» № 24

ОглавлениеБольшие новостиMicrosoft BizSpark: поиски инвесторов и менторов Автор: Григорий РудницкийNASA открыло виртуальную лунную базу Автор: Михаил КарповТерралабПромзона: Катушка с лупой Автор: Николай МаслухинPixel Qi: дисплеи, не слепнущие на солнце Автор: Юрий ИльинПромзона: Батарейки Microsoft Автор: Николай МаслухинСофт: Process Explorer — порнобаннер в прицеле Автор: Николай МаслухинSynaptics: тачпады нового поколения Автор: Олег НечайПромзона: Очки-суфлер Автор: Николай МаслухинМобильный интернет для малого бизнеса Автор: Максим БукинВещь дня: беззеркальная камера Lumix G2 Автор: Андрей ПисьменныйHDBaseT 1.0: дешёвая замена HDMI Автор: Олег НечайПромзона: Воздушный холодильник Автор: Николай МаслухинСофт: Настраиваем Ubuntu с помощью Ubuntu Tweak Автор: Крестников ЕвгенийПромзона: Бескрайний бассейн Автор: Николай МаслухинСпособы обмана в мобильных сетях Автор: Максим БукинСвоя играВасилий Щепетнёв: О пользе словаря Автор: Василий ЩепетневКивино гнездо: Человек против обмана Автор: Берд КивиMicrosoft: что пошло не так Автор: Андрей ПисьменныйКафедра Ваннаха: Скольжение к сингулярности Автор: Ваннах МихаилВасилий Щепетнёв: Гамбит Форт-Росс Автор: Василий ЩепетневКафедра Ваннаха: Облачное программирование и Пуэрто-Рико Автор: Ваннах МихаилВасилий Щепетнёв: Следы на целлулоиде Автор: Василий ЩепетневКивино гнездо: Конфликт криптографии и бюрократии Автор: Берд КивиИнтерактивЛюдмила Булавкина, директор YouDo по маркетингу, о любительском контенте Автор: Юрий ИльинМакс Зацепин и Глеб Никитин о музыкальной игре для iPad Автор: Юрий ИльинСергей Матиясевич (3D Bank) о рынке трёхмерных моделей Автор: Юрий ИльинВ. Репин (ИХБФМ СО РАН) о бактерии из вечной мерзлоты Автор: Алла АршиноваДмитрий Завалишин об операционной системе «Фантом» Автор: Андрей ПисьменныйБлогиАнатолий Вассерман: «Марс-500» Автор: Анатолий ВассерманКак большой оператор споткнулся о маленького SaaS-провайдера Автор: Анисимов КонстантинАнатолий Вассерман: Дальневосточные «партизаны» Автор: Анатолий ВассерманГолубятня-ОнлайнГолубятня: Сидр №4 Автор: Сергей ГолубицкийГолубятня: Бедность Автор: Сергей Голубицкий

Журнал «Компьютерра»

Зарубежная компьютерная, околокомпьютерная литература
Внедрение SAP R/3: Руководство для менеджеров и инженеров
Внедрение SAP R/3: Руководство для менеджеров и инженеров

Это практическое всеобъемлющие руководство было написано специально для тех, кто выбирает стратегию внедрения SAP в организации. «Внедрение SAP R/3: руководство для менеджеров и инженеров» объясняет, что означает понятие «эпоха ERP», почему информация является одним из ключевых ресурсов предприятия, как SAP способствует росту конкурентоспособности компании, а также преимущества методологии ASAP в планировании и использовании ресурсов при внедрении SAP. Подход к ERP-системам, используемый в данной книге, будет крайне полезен менеджерам и специалистам, которым необходимо представить высшему руководству своих компаний основания для внедрения SAP; кроме того, данная книга будет весьма полезной тем, кто занимается проектами SAP или планирует такой проект в ближайшем будущем. Для тех читателей, кто непосредственно занят в проектах SAP, эта книга станет надежным руководством и поможет внести существенный вклад в развитие проекта.

Вивек Кале

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT