Курсы C/C++
Общая информация Расписание и стоимость
Условия обучения
Проведение занятий Преподаватели Учебные материалы Документы об окончании Отзывы слушателей

Другие курсы

Курсы C++ Курсы Java Курсы C# (.NET) Курсы Microsoft C# (.NET) Программирование Android Курсы Web-технологий Программирование Linux Тестирование ПО Программирование микроконтроллеров

Обратная связь

+7 (812) 703-02-02 Форум
Печать

DEV-QT20. Прикладное программирование на С++ с использованием Qt. Углубленное изучение

Горячее питание

Продолжительность обучения: 40 ак.ч. очно
График обучения: 5 дней по 8 ак.ч. или 10 дней по 4 ак.ч.

Курс пока не поставлен в расписание. Оставить заявку

Аннотация

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

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

  • изучение основных классов модулей QtSQL (работа с БД), QtNetwork (обмен по сети);
  • изучение основных способов и классов для организации многозадачности;
  • изучение принципов запуска дочернего приложения и осуществления обмена данными между приложениями;
  • приобретение практических навыков создания приложений на базе Qt.

Документы об окончании обучения

  • Сертификат учебного центра
    Сертификат учебного центра
  • Удостоверение повышении квалификации (выдается лицам имеющим высшее или среднее профессиональное образование)
    Удостоверение повышении квалификации (выдается лицам имеющим высшее или среднее профессиональное образование)

Преподаватели

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

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

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

  • основные классы модулей QtSQL (работа с БД), QtNetwork (обмен по сети);
  • основные способы и классы для организации многозадачности;
  • принципы создания многопоточного приложения;
  • основные классы и принципы архитектуры MVC (model-view-controller);

уметь:

  • решать практические задачи по созданию приложений с использованием архитектуры MVC;
  • использовать средства Qt для взаимодействия с БД, создания многопоточных приложений;
  • запускать дочернее приложение и осуществлять обмен данными между приложениями;

владеть:

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

Расписание

Курс пока не поставлен в расписание. Оставить заявку на курс

Стоимость

Дата Физ. лица, руб. Юр. лица, руб.
Без скидки Cкидка 10%* Cкидка 15%** Без скидки Cкидка 10% Cкидка 15%
Цена c 15.02.2017 17000 15300 19000 17100

*Скидка 10% для ранее обучавшихся, при одновременной оплате 2х курсов, а также по акциям.
**Скидка 15% при одновременной оплате 3х и более курсов.
Примечание. Студентам ВУЗов Санкт-Петербурга очной формы обучения скидка до 25%.
Скидки не предоставляется на курсы с дистанционной формой обучения.
Скидки не предоставляется на комплексные и модульные программы обучения.

Требования к начальному уровню знаний

Базовые знания принципов построения современных операционных систем общего назначения. Владение основными концепциями объектно-ориентированного программирования. Владение языками С/C++. Знания и умения реализовать алгоритмы обработки различных структур данных.

Предварительное тестирование

Необходимо решить одну или несколько тестовых задач, набрав в сумме не менее 50 баллов. Ответ должен быть предоставлен; в виде исходных текстов программ с комментариями.

Слушатели, успешно закончившие курс «DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень» принимаются без предварительного тестирования.

Курсы, обеспечивающие достаточный начальный уровень знаний:

Программа курса

Дисциплина 1. Программирование с использованием архитектуры MVC

  • Основные классы архитектуры MVC. Классы модели (QAbstractItemModel, QStandartItemModel), представлений (QAbstractItemView). Модельные индексы. Роли элементов
  • Дополнительные возможности архитектуры MVC. Использование делегатов. Промежуточная модель данных. Модели выбора.

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

  • Реализация модели в виде таблицы хранимых данных.
  • Отображение данных модели посредством QTableView.
  • Использование делегатов для модификации данных в табличном представлении в удобном для пользователя виде.

Дисциплина 2. Взаимодействие с базами данных

  • Основные классы для работы с БД. Установление соединения с БД. Добавление таблиц в БД, работа с записями в таблицах, модификация полей записи, выборка записей, удовлетворяющих условию, упорядочение записей.
  • Использование архитектуры MVC для работы с БД. Классы моделей: QSqlQueryModel, QSqlTableModel, QSqlRelationalTableModel, QSqlRelationalDelegate. Создание информационно-связанных форм (QDataWidgetMapper).

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

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

Дисциплина 3. Межпроцессное взаимодействие

  • Реализация многозадачности посредством процессов. Формирование, хранение (QByteArray), передача «сырых» данных. Классы ввода/вывода (QIODevice, QFile, QBuffer, QProcess).
  • Обмен данными между процессами. Обмен с дочерним процессом посредством перенаправления стандартного ввода/вывод. Разделяемая память (QSharedMemory).

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

  • Запуск обособленного дочернего процесса.
  •  Запуск дочернего процесса с ожиданием его завершения.
  • Запуск дочернего процесса с возможностью обмена данными.
  • Использование разделяемой памяти.

Дисциплина 4. Использование многопоточности

  • Реализация многозадачности посредством потоков. Потоковые классы (обзор). Использование класса QThread. Синхронизация потоков с помощью: QMutex, QSemaphore, QSystemSemaphore, QWaitCondition.
  • Высокоуровневый API для поддержки многопоточности. Использование классов QtConcurrent, QRunnable, QThreadPool. Взаимодействие вторичного потока с главным. Механизмы оповещения главного потока (события, сигналы-слоты).

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

  • Использование класса QThread.
  • Создание нескольких потоков для параллельного выполнения задачи.
  • Использование различных объектов синхронизации.

Дисциплина 5. Обмен данными по сети

  • Классы для поддержки сетевого взаимодействия. Сетевые протоколы (TCP, UDP). Модель «клиент- сервер». Низкоуровневый API для взаимодействия посредством сокетов: QTcpServer, QTcpSocket, QHostAddress, QUdpSocket. Обмен сообщениями разной длины. Асинхронный и блокирующий подход.
  • Высокоуровневый API для сетевого взаимодействия. Классы: QNetworkAccessManager, QNetworkRequest, QNetworkReply

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

  • Создание простых клиента и сервера TCP.
  • Многопоточный сервер TCP.
  • Создание клиента и сервера UDP.