Qt Creator

Из Википедии, бесплатной энциклопедии

Qt Creator
Логотип программы Qt Creator
Скриншот программы Qt Creator
Снимок интегрированной среды разработки Qt Creator версии 6.0.2
Тип ИСР
Разработчик Qt Development Frameworks
Написана на C++[2], Си и QML
Интерфейс Qt
Операционные системы GNU/Linux[3], Windows[3], macOS[3] и BSD[вд][3]
Последняя версия
Репозиторий code.qt.io/cgit/qt-creat…
Лицензия GNU LGPL и GNU GPL
Сайт qt.io/ide/ (англ.)​ (яп.)
Логотип Викисклада Медиафайлы на Викискладе

Qt Creator (ранее известная под кодовым названием Greenhouse) — свободная IDE для разработки на С, C++, JavaScript и QML. Разработана Trolltech (Digia) для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Поддерживаемые компиляторы: GCC, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW[4].

Особенности

[править | править код]

Основная задача Qt Creator — упростить разработку приложения с помощью фреймворка Qt на разных платформах. Поэтому среди возможностей, присущих любой среде разработки, есть и специфичные, такие как отладка приложений на QML и отображение в отладчике данных из контейнеров Qt, встроенный дизайнер интерфейсов: как на QML, так и на QtWidgets.

Работа с проектами

[править | править код]

Qt Creator поддерживает системы сборки qmake, cmake, autotools[5], с версии 2.7 qbs[6]. Для проектов, созданных под другими системами, может использоваться в качестве редактора исходных кодов. Есть возможность редактирования этапов сборки проекта.

Также IDE нативно поддерживает системы контроля версии, такие как Subversion, Mercurial, Git, CVS, Bazaar, Perforce. Начиная с версии 2.5, в поле комментария к правке поддерживается автодополнение.

Редактирование кода

[править | править код]

В Qt Сreator реализовано автодополнение[7], в том числе ключевых слов, введённых в стандарте C++11 (начиная с версии 2.5), подсветка кода (её определение аналогично таковому в Kate, что позволяет создавать свои виды подсветок или использовать уже готовые). Также, начиная с версии 2.4, есть возможность задания стиля выравнивания, отступов и постановки скобок.

Реализован ряд возможностей при работе с сигнатурами методов, а именно:

  • автогенерация пустого тела метода после его обновления;
  • возможность автоматически изменить сигнатуру метода в определении, если она была изменена в объявлении и наоборот;
  • возможность автоматически поменять порядок следования аргументов.

При навигации по коду доступно переключение между определением и объявлением метода, переход к объявлению метода, переименование метода как в отдельном проекте, так и во всех открытых. Также есть возможность вызвать справку согласно текущему контексту.

Отладка кода

[править | править код]

Среда разработки имеет графический интерфейс для следующих отладчиков: GDB, CDB и QML/JavaScript. В качестве отдельной опции реализовано отображение содержимого контейнеров, таких как QString, std::map и прочих. Поддерживаются следующие режимы отладки:

  • простой для отладки локально запущенных приложений, таких как GUI приложения на Qt;
  • терминал для отладки локально запущенных процессов, которым требуется консоль, обычно это приложения без GUI;
  • подключённый для отладки локальных процессов, запущенных вне Qt Creator;
  • удалённый для отладки запущенных на другой машине процессов (используя gdbserver);
  • ядро для отладки завершившихся аварийно процессов на Unix;
  • Post-mortem для отладки завершившихся аварийно процессов на Windows;
  • TRK для отладки процессов, запущенных на устройстве Symbian.

Точки остановки можно задать различными способами, а именно:

  • останавливаться на заданной строчке заданного файла;
  • останавливаться при вызове функции с определенным именем;
  • останавливаться при обращении к данным по заданному адресу;
  • останавливаться при поимке исключения;
  • останавливаться при запуске или создании нового процесса;
  • останавливаться при выполнении системного вызова;
  • останавливаться при изменении в данных с адресами, заданными выражением.

Архитектура

[править | править код]

Функция main по сути своей — вызов загрузчика плагинов, которые и реализуют всю функциональность. Поэтому все компоненты QtCreator так или иначе связаны с плагинами[8].

ExtensionSystem представляет интерфейс для разработки плагинов, обеспечивает загрузку плагинов и базовое взаимодействие. Содержит в себе класс-интерфейс IPlugin, от которого должны наследоваться все плагины в программе.

Aggregation содержит функции и классы, предназначенные для объединения нескольких компонентов в единое целое.

Utils — библиотека утилит, которые могут вызывать плагины.

QmlJS — библиотека для поддержки QML и JavaScript.

Примечания

[править | править код]
  1. Qt Creator 14.0.2 released (англ.) — 2024.
  2. The qt-creator Open Source Project on Open Hub: Languages Page — 2006.
  3. 1 2 3 4 Free Software Directory
  4. Qt Creator : Adding Tool Chains Архивировано 17 ноября 2015 года.
  5. Qt Creator : Using Other Build Systems Архивировано 22 июня 2012 года.
  6. Qt Creator 2.7: QBS менеджер проектов под капотом / Хабрахабр. Дата обращения: 5 июня 2013. Архивировано 9 июня 2013 года.
  7. начиная с версии 2.5.1 устранена проблема автодополнения функций шаблонных классов
  8. Qt Creator : Qt Creator API Reference Архивировано 26 июня 2012 года.