Огляд можливостей 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.

Last updated