wxPython

Библиотека wxPython является обёрткой для библиотеки xWidgets, ранее известной как wxWindows.  wxPython является кросс-платформенной библиотекой, с открытым исходным кодом, она предназначена для разработки приложений, в том числе и  с графическим интерфейсом (GUI). Каждый пользователь в своей работе сталкивается ежедневно с графическим интерфейсом при взаимодействии с офисными и прикладными программами Windows — это привычные кнопки, текстовые поля редактирования, графические списки, всевозможные диалоговые окна, меню и другие элементы управления в окнах приложений.

Целевая аудитория

Курс предназначен для программистов с проблемами зрения, работающих в операционных системах Windows 10-11 или Mac OS, владеющих языком программирования Python на базовом уровне.

Курс позволяет программисту, привыкшему писать консольные приложения  на языке Python, в кратчайшие сроки (8 занятий) перейти на совершенно другой уровень программирования — разработку приложений с графическим интерфейсом.

Требования к компетенциям

Для успешного освоения курса пользователь должен:

  • Владеть языком программирования Python на базовом уровне;
  • иметь представление об объектно-ориентированном программировании.

Основные темы курса

Курс представлен следующими темами:

  1. Введение в графический интерфейс:
    1. Понятие «Графический интерфейс приложения»;
    2. Установка и подключение библиотеки wxPython;
    3. Структура приложения wxPython;
    4. Добавление базовых виджетов.
  2. Кнопки. События элементов управления:
    1. Создание панели для размещения элементов управления (класс wx.Panel);
    2. Создание кнопок (класс wx.Button);
    3. События элементов управления и механизм их распространения;
    4. Создание методов-обработчиков;
    5. Связывание элементов управления с методами-обработчиками (метод Bind());
    6. Некоторые методы кнопок.
  3. Текстовое поле редактирования:
    1. Текстовое поле редактирования (класс wx.TextCtrl);
    2. Стили поля редактирования;
    3. События поля редактирования;
    4. Некоторые методы поля редактирования.
  4. Графические списки:
    1. Простой список (класс wx.ListBox);
    2. Стили простого списка;
    3. События простого списка;
    4. Некоторые методы простого списка;
    5. Графический список со столбцами (класс wx.ListCtrl).
  5. Горизонтальное меню приложения:
    1. Алгоритм создания меню;
    2. Создание горизонтальной панели меню;
    3. Добавление меню и его пунктов на панель;
    4. Создание методов-обработчиков для пунктов меню;
    5. Связывание пунктов меню с методами-обработчиками;
    6. Добавление в меню быстрых клавиш;
    7. Добавление в меню горячих клавиш.
  6. Стандартные диалоговые окна:
    1. Простой диалог (класс wx.MessageBox);
    2. Диалог с расширенными возможностями (класс wx.MessageDialog);
    3. Диалог для ввода данных (класс wx.TextEntryDialog);
    4. Диалог для выбора каталога (класс wx.DirDialog);
    5. Диалог для выбора файла (класс wx.FileDialog).
  7. Обработка нажатия клавиш. Сайзеры:
    1. События нажатия и отпускания клавиш;
    2. Обработка нажатия и отпускания клавиш;
    3. Размещение элементов управления в окне приложения;
    4. Вертикальные сайзеры;
    5. Горизонтальные сайзеры.
  8. Итоговый опрос. Практическое задание:
    1. Кнопки: необходимые шаги для создания и функционирования;
    2. События элементов управления: кнопок, текстовых полей редактирования, графических списков, клавиш, меню, мыши и т.д.;
    3. Текстовые поля редактирования: некоторые стили и методы;
    4. Графические списки: разновидности, некоторые события и методы;
    5. Горизонтальное меню приложения: необходимые шаги для создания и функционирования;
    6. Стандартные диалоговые окна: разновидности, обработка возвращаемого значения;
    7. Обработка нажатия и отпускания клавиш: события и способы их обработки.

Ожидаемые результаты

После успешного освоения тем курса, выполнения всех домашних заданий слушатель сможет разрабатывать не только консольные приложения, но и приложения с графическим интерфейсом, которые легко поддерживать, расширять их функционал и адаптировать под  современные требования IT-технологий.