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

DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень

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


Аннотация

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

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

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

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

В результате освоения программы у слушателей должен сформироваться комплекс знаний, умений и навыков в области написания эффективных программ с использованием инструментария Qt на базе языка С++.

В результате изучения программы слушатели должны:
знать:

  • состав интегрированной среды разработки Qt;
  • основные классы библиотеки Qt;
  • принципы мета-объектного программирования;
  • составляющие мета объектной системы Qt;
  • методологию разработки программного обеспечения;

уметь:

  • создавать приложения с графическим пользовательским интерфейсом;
  • использовать средства Qt для интернационализации приложений – Qt Linguist;
  • создавать соединения объектов посредством сигналов-слотов;

владеть:

  • навыками подключения модулей Qt посредством директив проекта;
  • приемами отладки программного кода;
  • графическим конструированием интерфейса приложения – Qt Designer;
  • приемами создания соединений посредством сигналов-слотов;
  • навыками использования системой доставки событий Qt.

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

Дисциплина 1. Классы Qt для создания приложений c графическим интерфейсом

  • Кроссплатформенность Qt.
  • Состав Qt. Модули Qt. Инструменты разработчика.
  • Иерархия классов Qt. Обзор основных классов Qt.
  • Директивы проекта
  • Виджеты и окна. Свойства виджетов. Настройка вешнего вида окон. Стандартные диалоговые окна

Лабораторные занятия

  • Создание приложения с графическим интерфейсом и настройка его внешнего вида.
  • Размеры окна. Задание размеров окна. Создание и использование диалоговых окон.
  • Локализация приложения средствами Qt.

Дисциплина 2. Событийно-ориентированное программирование

  • Архитектура приложений, управляемых событиями.
  • Обработка событий средствами Qt. Система доставки, контроля и фильтрации событий Qt. Очередь событий Qt. Обработчики событий различных типов.
  • Аппаратно-независимый ввод/вывод. Реализация графического вывода средствами Qt – классы QPaintDevice и QPainter. Инструменты для «рисования». Вывод текста, векторной и растровой графики.

Лабораторные занятия

  • События: рисования, таймера, изменения размеров.
  • События мыши.

Дисциплина 3. Мета объектная модель Qt. Механизм сигналов и слотов

  • Qt как расширение С++. Мета объектный компилятор. Система динамических свойств Qt. Автоматические иерархии объектов. Именование объектов.
  • Механизм сигналов и слотов. Отличия сигналов/слотов от событий. Реализация механизма сигналов/слотов. Установка соединения между объектами.

Лабораторные занятия

  • Взаимодействие (синхронизация) элементов управления посредством сигналов/слотов. Сигналы и слоты, предоставляемые классами Qt. Пользовательские сигналы/слоты;
  • Использование QtDesigner для конструирования графического приложения. Использование редактора сигналов/слотов. Использование редактора действий (QAction). Ресурсы приложения;
  • Класс QMainWindow. Ui. CentralWidget. Создание пользовательского виджета. Меню. ToolBar. Статусная строка

Дисциплина 4. Введение в архитектуру Модель-Представление-Контроллер (MVC)

  • Архитектура MVC. Понятие MVC. Элементы управления, содержащие модели (QListWidget, QTableWidget, QTreeWidget, QComboBox)
  • Система Graphics View Framework. Понятие сцены - класс QGraphicsScene. Класс для отображения – QGraphicsView. Классы графических примитивов: QGraphicsItem. QAbstractGraphicsShapeItem. QGraphicsRectItem. QGraphicsEllipseItem.

Лабораторные занятия

  • Использование Qt Graphics View Framework для рисования, хранения и манипулирования примитивами
  • Использование стандартных диалогов для задания атрибутов рисования. Разработка пользовательского диалога для задания атрибутов рисования.