+7 (812) 703-02-02 info@hse.spbstu.ru

DEV-PYQT. Разработка оконных приложений Python c использованием Qt

Длительность дисциплины: 40 ак.ч.


Аннотация

Целью данной программы является освоение слушателями кросс-платформенного инструментария разработки прикладного программного обеспечения – Qt, а также получение базовых навыков решения типовых задач на языке Python с использованием Qt с привязкой PySide2.

Библиотека Qt написана на языке C++. Для языка Python существуют две библиотеки («привязки») PySide2 и PyQt, позволяющие разрабатывать оконные приложения на языке Python. Изначально была разработана библиотека PyQt, но из-за нежелания разработчиков PyQt менять лицензионную политику для своего проекта появилась привязка PySide2. С июня 2018 г. появился официальный релиз PySide2 (проект Qt for Python).

Для достижения указанной цели предполагается решение следующих задач:

  • изучение основных классов, предоставляемых библиотекой Qt;
  • изучение инструментария Qt;
  • приобретение практических навыков создания приложений на базе Qt.

Знания и умения, полученные в результате изучения

В результате освоения программы обучающийся должен уметь:
• настраивать и грамотно использовать основные инструменты разработчика;
• определять объектные связи между виджетами;
• настраивать внешний вид окон;
• осуществлять компоновку виджетов;
• обрабатывать события средствами Qt;
• обеспечивать взаимодействие элементов управления посредством сигналов/слотов;
• создавать пользовательские стили оформления;
• осуществлять отладку GUI в Qt;
• генерировать события для отладки.

В результате освоения программы обучающийся должен знать:
• основные модули PySide2 и их назначение (QtCore, QtGui, QtWidgets);
• основные инструменты разработчика;
• основные классы виджетов и их свойства;
• основные принципы локализации приложения;
• стандартные стили оформления;
• способы отладки GUI в Qt.

В результате освоения программы обучающийся должен приобрести практический опыт:
• использования интегрированной среды разработки Qt;
• мета-объектного программирования;
• разработки программного обеспечения;
• реализации простых приложений с графическим интерфейсом.

Содержание дисциплины

Тема 1. Модули Qt для создания приложений с графическим интерфейсом

  • Состав Qt.
  • Виджеты и окна.Иерархия классов и объектов.
  • Локализация приложения.

Практические занятия:

  • Знакомство с основными библиотеками.
  • Создание простого оконного приложения.
  • Локализация приложения.
  • Создание исполняемого файла приложения.

Тема 2. Событийно-ориентированное программирование

  • Обработка событий средствами Qt.
  • Взаимодействие элементов управления посредством сигналов/слотов.
  • Аппаратно-независимый ввод/вывод.

Практические занятия:

  • Обработка событий. Реализация пользовательских обработчиков событий: рисования, таймера, изменения размеров, мыши и клавиатуры.
  • Создание и использование сигналов и слотов.
  • Рисование двумерной графики средствами Qt.

Тема 3. Интеграция PySide2 с другими фреймворками

    • Интеграция с WEB
    • Интеграция с SQL
    • Интеграция с фреймворками визуализации данных
    • Работа с Pyinstaller.
    Практические занятия:
    • Использование всех элементов QMainWindow при разработке программы на Qt.
    • Создание виджетов с помощью QtDesigner.
    • Использование QAction, сигналов/слотов.
    • Использование стилей. Отладка GUI.