Узнать подробности и записаться на сайте школы на пробный бесплатный урок Сайт школы

Курс "Разработка программ с графическим интерфейсом на С++"

Школа GeekBrains

Научитесь разрабатывать программы с графическим интерфейсом на С++

  • Цена
    8 767 руб.
  • Срок обучения
    1 месяц
  • Количество занятий
    12 уроков

Что Вы получите

  1. Видеозаписи всех онлайн-занятий
  2. Методички и практические задания
  3. Общение с одногруппниками
  4. Сертификат об окончании обучения

Программа обучения

Урок 1. Qt Creator: основы

  • Что такое Qt? Краткий обзор возможностей (help, qtdemo, linguist, uic и т.д.). Установка библиотеки и среды разработки QT. Настройка Qt Creator для работы (выбор компилятора, дебагера, каталога и т.д.). Создание и запуск первого приложения (Hello world!). Виджеты. Различные виды полей вывода текста. Кнопки и индикаторы. Обработка сигналов от виджетов.

Урок 2. Модульность в Qt

  • Основные модули Qt. Иерархия классов. Принцип модульности. Разделение движка и интерфейса. Концепция "модель - представление". Список, дерево, таблица и методы их вывода. Защита полей вывода. Документация по модулям и классам Qt. QMake и системы автосборки проектов. Система компиляции и подключения модулей .pro file

Урок 3. Работа с данными в Qt.

  • Контейнерные классы. Итераторы. Последовательные контейнеры. Ассоциативные контейнеры. Работа со строками. Чтение, вывод на экран и сохранение изображений. Работа с файлами и каталогами. Потоки ввода/вывода. Базовые методы открытия файла QFile, QFileDialog. Ресурсы программы.

Урок 4. Взаимодействие объектов в Qt

  • Объектная модель Qt. Управление памятью. Иерархия объектов. Сигналы и слоты. Соединение и разъединение объектов. MOC - метаобъектный компилятор. Принцип цикла обработки событий. Обработка событий. События мыши, клавиатуры. Фильтры событий. Поддержка разных языков. Локализация программы. Динамическая смена языка (QLinguist). Обращение к командной строке из программы

Урок 5. Разработка графического интерфейса в Qt

  • Класс QWidget. Виды виджетов. Иерархия виджетов. Подключение OpenGl и других сторонних библиотек вывода. Разработка форм в Qt Designer. Использование форм в проектах. Компоновка виджетов. Политика изменения размера. Соединение сигналов со слотами. Фокус ввода. Таблицы стилей. Цветовая палитра. Создание собственных виджетов.

Урок 6. Разработка оконного интерфейса в Qt

  • Однодокументный и многодокументный интерфейс. Дочерние и родительские экраны. Подклассы (QDialog and ets). Главное окно. Панели инструментов. Строка состояния. Создание меню. Выпадающее меню. Контекстное меню. Диалоговые окна. Открытие, сохранение и вывод на печать документов.

Урок 7. Работа с графикой и текстом в Qt

  • Контекст рисования QPainter. Системы координат. Точка, линия, прямоугольник, полигон. Перья, кисти. Цветовые модели. Градиенты. Graphics View Framework. Сцена и представление. Текст с элементами форматирования. Шрифты. Работа с html разметкой. Вывод и сохранение. WebEngine. Реализация простого веб-браузера.

Урок 8. Таймеры, процессы и потоки в Qt

  • Дата и время. События таймера. Процессы. Запуск, работа и остановка. Потоки. Многопоточность. Обмен сигналами, событиями. Синхронизация. Мьютекс

Урок 9. Технология Qt Quick

  • Язык QML. Элементы пользовательского интерфейса. Управление размещением элементов. Элементы графики. Работа с изображениями и шрифтами. Работа с мышкой, клавиатурой и тачпадом. Реализация анимации. Использование QML в проекте

Урок 10. Дополнительные инструменты разработки и средства сборки Qt

  • Тестирование программ. Типы ошибок. QDebug. Пошаговая отладка. Контрольные точки. Окна переменных и цепочки вызова. Модульное тестирование. Тестирование графического интерфейса. Виды сборок проекта (отладка, вывод, профилирование). Qt Creator и системы контроля версий. Git. Поиск взаимосвязанных библиотек. Как отправить приложение заказчику (без исходников), чтобы оно точно у него запустилось

Урок 11. Работа с базами данных (БД) в Qt

  • Краткие сведения о СУБД SQLite. Основные операции при работе с БД. Инструменты Qt для работы с SQLite. Реализация работы с БД через концепцию "модель - представление". Сборка и подключение других библиотек баз данных (Postgresql/mysql/ets)

Урок 12. Работа с сетью в Qt

  • Высокоуровневые и низкоуровневые сетевые протоколы. Соединение через сокеты. Модель "клиент-сервер". Управление доступом к сети. Подключение к базам данных на сервере