Перші кроки в wxpython урок №2

Перші кроки в wxpython урок №2

У цій частині навчання wxPython ми постараємося створити найпростіші приклади.

простий приклад

Почати слід з самого простого прикладу. Нашим першим скриптом буде просте відображення невеликого вікна. Ми проаналізуємо кожну лінію нашого найпростішого скрипта.

Перша лінія починається з шебанга (послідовність символів «#» і «!»), Після якого слід шлях до інтерпретатора.

Наступна лінія дозволяє імпортувати базові модулі wxPython. Серед них: ядро, елементи управління, графічний інтерфейс, вікна та інше. Технічно, wx - це простір імен. Всі функції і об'єкти базових модулів починаються із префікса wx.

Наступна лінія нашого коду створює об'єкт докладання.

Кожна програма на wxPython повинна мати один об'єкт докладання.

У цій ділянці ми створюємо об'єкт wx.Frame. Віджет wx.Frame є важливим виджетом контейнера. Трохи пізніше ми розберемо цей віджет детальніше. Сам віджет wx.Frame є батьківським для інших віджетів. У нього немає батьківського віджета. Якщо ми вкажемо «none» для батьківського параметра, то побачимо, що у нашого віджета немає батьківських віджетів. Таким чином wx.Frame є найвищим віджетом в ієрархії.

Після того як ми створили віджет wx.Frame. нам необхідно скористатися методом Show (), чтби відобразити його на екрані.

Остання лінія запускає основний цикл. Він є нескінченним. Основний цикл відловлює і відправляє всі події, які відбуваються під час життя додатки.

Цей приклад був дуже простим. Але, не дивлячись на простоту, з підсумковим вікном можна зробити багато роботи. Зокрема, ми можемо змінити розмір вікна, мінімізувати його або розгорнути. Для цього функціоналу потрібно досить багато коду. Всі ці можливості приховані і доступні за замовчуванням в інструментарії wxPython. Немає необхідності заново винаходити колесо.

Перші кроки в wxpython урок №2

Мал. 1. Результат нашого простого коду.

Віджет wx.Frame - один з найбільш важливих в wxPython. Це віджет-контейнер. Це означає, що він може містити в інші віджети. Насправді він може містити будь-яке вікно, яке не є фреймом або діалогом. Віджет wx.Frame складається з заголовка, граней і центральній частині контейнера. Тема і межі є опціональними. Їх можна прибрати, використовуючи різні прапори.

Wx.Frame має наступний конструктор:

Конструктор має сім параметрів. У першого параметра немає значення за замовчуванням. Решта сім параметрів таке значення мають. При цьому перші три параметри - обов'язкові, а останні чотири - опціональні.

wx.DEFAULT_FRAME_STYLE являє собою набір прапорів за замовчуванням. wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN. Комбінуючи різні стилі, ми можемо змінювати стилістику віджета wx.Frame. Нижче представлений наочний приклад зміни стилів.

Нашим наміром було відображення вікна без функції згортання. Тому ми не вказали даний прапор в параметрі style.

Перші кроки в wxpython урок №2

Мал. 2. Вікно без елемента згортання.

Розмір і позиція

Ми можемо самостійно вказати розмір нашого застосування двома різними способами. В першу чергу у нас є параметр розміру в конструкторі віджета. Також, ми можемо скористатися методом SetSize ().

У цьому прикладі розмір програми становитиме 250х200 пікселів.

У конструкторі ми вказали ширину віджету wx.Frame в 250 пікселів. Висоту віджета - в 200 пікселів.

Аналогічним чином ми можемо позиціонувати наш додаток на екрані. За замовчуванням вікно фіксується в лівому верхньому кутку екрану. Але, в залежності від різних операційних систем і навіть менеджерів вікон, положення може змінюватися. Деякі з менеджерів вікон самостійно вибирають позицію вікон програми.

Деякі з них виконують оптимізацію, в результаті якої вікна не перекриваються. У той же час програміст може сам позиціонувати вікно. У конструкторі віджета wx.Frame нам уже попадався параметр pos. Якщо встановлювати значення, відмінні від зазначених за замовчуванням, ми зможемо керувати позицією розміщення вікна.

Перші кроки в wxpython урок №2

Існує кілька методів, за допомогою яких можна зробити це.

Також існують ситуації, коли нам може знадобитися відображення вікна з максимальними розмірами. У цьому випадку вікно розміщується в позиції (0, 0) і займає весь екран. В даному випадку wxPython обчислює внутрішні координати екрану. Для відображення вікна wx.Frame з максимальними розмірами використовується метод Maximize ().

Центрування на екрані

Якщо ми захочемо центрировать наш додаток на екрані, у wxPython знайдеться для цього зручний метод. Використовуючи метод Centre () наше вікно буде розміщено в центрі екрану. Немає необхідності вираховувати ширину і висоту екрану для визначення позиції вікна. Потрібно лише скористатися даним методом.

У цьому прикладі ми центрованої невелике вікно на нашому екрані.

Це метод, який центрує вікно на екрані.

У цьому розділі ми вивчили найбільш прості приклади роботи wxPython.

Схожі статті