PLLUG C++/Qt Roadmap Book
  • Вступ
  • Найважливіший розділ у цій книжці
    • Кілька критично важливих порад
    • Встановлення середовища та початок роботи
    • Підготовка до роботи. Командний рядок.
      • Встановлення та налаштування суперконсолі (тільки на Windows)
      • Cheatsheet: Робота з командним рядком
    • Компіляція та запуск першої програми
      • Найменьша програма мовою С++
      • Компіляція програми: як це працює
      • Починаємо програмувати
    • Базова робота з Git та створення власного репозиторію
      • Підготовка до роботи
      • Створюємо репозиторій та заливаємо на GitHub
      • Cheatsheet: Простий алгоритм для роботи з системою контролю версій (одна гілка, один розробник)
      • Працюємо з Git правильно
  • Мова С++ - швидкий вступ та обрані теми
    • Змінні. Деякі з основних типів та їх застосування.
      • Типи int та double
      • Тип bool
      • Тип char
      • Тип std::string
      • Тип std::vector
      • Тип std::array
    • Ключове слово const
  • Середовище розробки QtCreator
    • Налаштування та підготовка до роботи
      • Налаштування інструментаріїв
    • Довідка та ресурси
    • Гарячі клавіші
    • Робота з проектами у QtCreator
      • Файли проекту
      • Основні змінні, які беруть участь у описі проекту
      • Компіляція проекту Qt
      • Очистка проекту
  • Абстрактні типи даних та керування памяттю
    • Абстрактні типи даних
      • Об'єкти та класи. Абстракція.
      • Поля та методи класу
      • Успадкування
      • Віртуальні методи та поліморфізм
    • Вказівники та пам'ять
      • Адреса
      • Вказівники
      • Вказівники: примітивна демонстрація програми у пам'яті
      • Час зберігання об'єкту
  • Знайомство з Qt5
    • Огляд Qt5
      • Ласкаво просимо у світ Qt
      • Огляд можливостей Qt 5
      • Ліцензування Qt
      • Короткий огляд історії Qt
      • “Екосистема” Qt
    • Створення графічного інтерфейсу засобами Qt
      • Віджети (Widgets)
      • Компонування (Layouts)
      • Сигнально-слотові з'єднання
      • Створення сигналів (signals) та слотів (slots)
      • Підсумок: сигнально-слотові з'єднання
      • Коротко про елементи графічного інтерфейсу та їх використання
  • Cheatsheets
  • Demos
  • Missions
    • Mission 1: Досліджуємо Git та командний рядок
    • Mission 2: Консольна гра
    • Mission 3: MazeGame
    • Mission 4: Створюємо абстрактний тип даних
Powered by GitBook
On this page
  • Модуляризована структура
  • Інструменти розробки
  • Qt Platform Abstration (QPA). Підтримка мобільних платформ.
  • Технологія QtQuick 2. OpenGL Scene Graph.
  1. Знайомство з Qt5
  2. Огляд Qt5

Огляд можливостей Qt 5

Розглянемо основні складові кросплатформного засобу розробки Qt: модулі та інструменти.

Модуляризована структура

Засоби Qt розділено за призначенням на окремі частини — модулі. Кожен з модулів виконано у вигляді окремої бібліотеки. Розробник має змогу обрати модулі, які він використає у програмі. Модулі мають взаємозалежності: одні модулі використовують можливості, які надають інші. Основу складають основні (Essentials) модулі.

Крім того існує багато додаткових (Add-On) модулів. Варто зауважити, що розділення на основні та додаткові модулі притаманно Qt5 на відміну від попередніх версій. Назви деяких модулів у Qt5 порівняно з Qt4 було змінено, а деякі засоби було винесено у окремі або перенесено у інші модулі. Ці зміни необхідно враховувати при перенесенні програм, які було розроблено з використанням Qt4. Усі приклади, які ми будемо розглядати, працюють з Qt5.

Інструменти розробки

Крім модулів, у склад інструментарію входять інструменти розробки, вихідні тексти Qt, приклади програм та документація.

До складу Qt крім самого фреймворку входять також засоби, які дозволяють значно спростити і прискорити роботу. Одним з таких засобів є середовище Qt Creator. Його ми будемо використовувати в якості головного інструмента під час роботи над матеріалом цієї книги.

У наступних розділах ми детально розглянемо роботу з Qt Creator, налаштування середовища, а також різноманітні прийоми закликані пришвидшити роботу розробника та зробити її більш зручною. Зараз ми лише коротко розглянемо деякі особливості цього середовища, які можуть бути цікаві читачу:

  • Основними підтримуваними мовами програмування є С++ та C. Для цих мов реалізоване автодоповнення, дії для рефакторінгу, аналіз та пошук у програмі класів, методів, типів тощо. Велика увага розробників приділяється підтримці останніх стандартів С++. Також є підтримка для мов QML та JavaScript.

  • Qt Creator добре підтримує відлагоджувачі GDB та CDB. Є також можліивість відлагодження QML/JavaScript.

  • Серед підтримуваних компіляторів: Gcc, Clang, MinGW, MSVC тощо.

  • Qt Creator інтегрується з Valgrind для пошуку проблем з менеджментом пам’яті та аналізу швидкодії. Для аналізу швидкодії QML/JavaScript коду є вбудований інструмент — Qt QML Profiler.

  • Можливості середовища базуються на наборі плагінів. Плагіни розширюють можливості середовища для підтримки проектів під мобільні платформи, збіркою з використанням CMake чи Autotols, інтеграцією з системами контролю версій тощо.

  • Система довідки Qt доступна прямо з середовища. Також є можливість викликати довідку згідно поточному контексту під час редагування коду програми. Документація, як ми побачимо у наступних розділах, є одним з найважливіших інструментів розробника і вона буде відігравати важливу роль в процесі роботи над матеріалом з цієї книги.

Qt Platform Abstration (QPA). Підтримка мобільних платформ.

QPA (Qt Platform Abstraction) — це прошарок абстракції між Qt та програмною платформою, який дає змогу спростити портування Qt. Програмний код, залежний від віконної системи у Qt 5, був відокремлений та реорганізований у окремі бібліотеки розширення, що дозволило спростити перенесення Qt на нові платформи та адаптацію для підтримки інших віконних систем. Завдяки QPA (Qt Platform Abstraction) у Qt5 реалізована підтримка багатьох платформ для мобільних пристроїв. Qt добре підтримує розробку проектів під Android, iOS та WinRT. А відмальовка графічних елементів на усіх програмних платформами базована на використанні OpenGL та OpenGL ES.

Технологія QtQuick 2. OpenGL Scene Graph.

Поряд з традиційним для попередніх версій Qt способом створення користувацьких інтерфейсів, який базується на віджетах — візуальних елементах інтерфейсу користувача (кнопки, прапорці, випадаючі списки, поля вводу, слайдери тощо), Qt5 ставить великий акцент на використанні технології Qt Quick та мови QML.

PreviousЛаскаво просимо у світ QtNextЛіцензування Qt

Last updated 7 years ago