Программа курса:
1. Состав Qt
· Qt Designer, Qt Linguist, Qt Assistant, QMake
· IDE Qt Creator
· Поддерживаемые ОС
2. Qt как расширение С++
· Система доставки, контроля и фильтрации событий
· Динамические свойства объектов
· Механизм перевода строк для интернационализации приложения
· Таймеры
· Автоматические иерархии объектов
· Защищенные указатели
· Динамическое приведение типа
3. Событийно-ориентированное программирование
· Взаимодействие: пользователь-ОС-ресурсы вычислительной системы-приложение
· Событийно-управляемая архитектура Qt toolkit
· Переход от консольного приложения к приложению, управляемому событиями
· Поддержка обработки событий средствами Qt
4. Приложение с графическим интерфейсом
· Оконная система
· Окно Qt – базовый класс QWidget
· Элементы управления (controls) и соответствующие классы Qt
· Аппаратно-независимый ввод/вывод. Реализация графического вывода средствами Qt – классы QPaintDevice и QPainter
· Инструменты для «рисования» и соответствующие классы Qt
· Вывод текста, векторной и растровой графики
5. Метаобъектная модель Qt
· Метаобъектный компилятор
· Дополнительные возможности, добавляемые moc
· Возможности, предоставляемые базовым классом QObject
· Иерархии объектов
6. Механизм сигналов и слотов
· Отличия событий от сигналов/слотов
· Ограничения использования механизма сигналов/слотов
· Синхронное и асинхронное взаимодействие
· Понятия, связанные с механизмом сигналов/слотов
· Реализация механизма сигналов/слотов
· Макросы SIGNAL и SLOT “Ключевые” слова Qt: “signals" и "slots", “emit”
· Макрос Q_OBJECT
· Класс QMetaObject
· Специфика сигналов. Специфика слотов
· Анатомия вызова слота
· Установка соединения между объектами – метод connect()
· Тип соединения. Недостатки механизма
· Блокировка и отмена соединения
7. Диалоги
· Стандартные диалоги
· Пользовательские диалоги
· Модальные и немодальные диалоги
8. Компоновки (layouts)
· Виды компоновок
· Комбинирование компоновок
9. Элементы пользовательского интерфейса
· Меню. Панель инструментов
· Клиентская область. Статусная строка
· Иконка приложения. Курсор. Акселераторы
10. Qt Designer
· Класс QMainWindow
· Генерация файла пользовательского интерфейса - Ui
· Клиентская область главного окна – Central widget
· Редактор сигналов/слотов
· Класс QAction. Редактор действий
· Пользовательский виджет. Ресурсы приложения
11. Контейнеры Qt
· QVector, QList…
12. Система Graphics View Framework
· Специализированный классы представлений Qt: QGraphicsView. QGraphicsScene. QGraphicsItem. QGraphicsRectItem
13. Архитектура Модель-Представление-Контроллер (MVC)
· Концепция MVC. Реализация MVC средствами Qt
· Класс модели - QAbstractItemModel
· Классы представлений: QTableView, QAbstractItemView
· Множественное представление данных. Делегаты
14. Таймеры
· Использование таймера, предоставляемого классом QWidget
· Создание дополнительных таймеров
15. Множественное представление данных. Продолжение темы MVC
· Класс модели - QAbstractItemModel
· Классы представлений: QTableView, QAbstractItemView. Делегаты
16. Многозадачность
· Запуск процессов. Запуск потоков
· Синхронизация потоков
17. Дополнительные темы
· Работа с БД
· Сетевое программирование - TCP/IP
· QML
1. Состав Qt
· Qt Designer, Qt Linguist, Qt Assistant, QMake
· IDE Qt Creator
· Поддерживаемые ОС
2. Qt как расширение С++
· Система доставки, контроля и фильтрации событий
· Динамические свойства объектов
· Механизм перевода строк для интернационализации приложения
· Таймеры
· Автоматические иерархии объектов
· Защищенные указатели
· Динамическое приведение типа
3. Событийно-ориентированное программирование
· Взаимодействие: пользователь-ОС-ресурсы вычислительной системы-приложение
· Событийно-управляемая архитектура Qt toolkit
· Переход от консольного приложения к приложению, управляемому событиями
· Поддержка обработки событий средствами Qt
4. Приложение с графическим интерфейсом
· Оконная система
· Окно Qt – базовый класс QWidget
· Элементы управления (controls) и соответствующие классы Qt
· Аппаратно-независимый ввод/вывод. Реализация графического вывода средствами Qt – классы QPaintDevice и QPainter
· Инструменты для «рисования» и соответствующие классы Qt
· Вывод текста, векторной и растровой графики
5. Метаобъектная модель Qt
· Метаобъектный компилятор
· Дополнительные возможности, добавляемые moc
· Возможности, предоставляемые базовым классом QObject
· Иерархии объектов
6. Механизм сигналов и слотов
· Отличия событий от сигналов/слотов
· Ограничения использования механизма сигналов/слотов
· Синхронное и асинхронное взаимодействие
· Понятия, связанные с механизмом сигналов/слотов
· Реализация механизма сигналов/слотов
· Макросы SIGNAL и SLOT “Ключевые” слова Qt: “signals" и "slots", “emit”
· Макрос Q_OBJECT
· Класс QMetaObject
· Специфика сигналов. Специфика слотов
· Анатомия вызова слота
· Установка соединения между объектами – метод connect()
· Тип соединения. Недостатки механизма
· Блокировка и отмена соединения
7. Диалоги
· Стандартные диалоги
· Пользовательские диалоги
· Модальные и немодальные диалоги
8. Компоновки (layouts)
· Виды компоновок
· Комбинирование компоновок
9. Элементы пользовательского интерфейса
· Меню. Панель инструментов
· Клиентская область. Статусная строка
· Иконка приложения. Курсор. Акселераторы
10. Qt Designer
· Класс QMainWindow
· Генерация файла пользовательского интерфейса - Ui
· Клиентская область главного окна – Central widget
· Редактор сигналов/слотов
· Класс QAction. Редактор действий
· Пользовательский виджет. Ресурсы приложения
11. Контейнеры Qt
· QVector, QList…
12. Система Graphics View Framework
· Специализированный классы представлений Qt: QGraphicsView. QGraphicsScene. QGraphicsItem. QGraphicsRectItem
13. Архитектура Модель-Представление-Контроллер (MVC)
· Концепция MVC. Реализация MVC средствами Qt
· Класс модели - QAbstractItemModel
· Классы представлений: QTableView, QAbstractItemView
· Множественное представление данных. Делегаты
14. Таймеры
· Использование таймера, предоставляемого классом QWidget
· Создание дополнительных таймеров
15. Множественное представление данных. Продолжение темы MVC
· Класс модели - QAbstractItemModel
· Классы представлений: QTableView, QAbstractItemView. Делегаты
16. Многозадачность
· Запуск процессов. Запуск потоков
· Синхронизация потоков
17. Дополнительные темы
· Работа с БД
· Сетевое программирование - TCP/IP
· QML