Qt Creator | это... Что такое Qt Creator? (original) (raw)

Qt Creator

QtCreator.png
QtCreatorSShot.png Окно редактора кода Qt Creator 2.5.1
Тип Среда разработки программного обеспечения
Разработчик Qt Development Frameworks
Написана на C, C++[1], QML
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 2.6.0[2] (8 ноября 2012)
Лицензия LGPL 2.1
Сайт http://qt.digia.com/product/developer-tools/

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

Содержание

Особенности

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

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

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

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

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

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

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

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

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

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

Архитектура

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

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

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

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

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

Примечания

  1. Qt Creator
  2. Qt Creator 2.6.0 released
  3. Qt Creator : Adding Tool Chains
  4. Qt Creator : Using Other Build Systems
  5. начиная с версии 2.5.1 устранена проблема автодополнения функций шаблонных классов
  6. Qt Creator : Qt Creator API Reference

Ссылки

Просмотр этого шаблона IDE (сравнение)
Универсальные AnjutaVisual StudioNetBeansEclipseKDevelopXcodeGeanyMonoDevelopAptana StudioOpen WatcomKomodoKylix
Си/C++ Borland C++C++ Builder • Code::Blocks • CodeLitewxDev-C++Pelles COracle Solaris StudioQt CreatorUltimate++Microsoft QuickC
Бейсик PowerBASICTurbo BasicVisual BasicQBasicQuickBASICPureBasic
Java WebLogicBlueJ • DrJava • Greenfoot • JCreator • JDeveloperIntelliJ IDEAJBuilder • JGRASP
Паскаль DelphiLazarusMSEPascalABC.NETMIDletPascalPocketStudio • Morfik • Turbo PascalQuickPascalVisible PascalGeany
PHP Aptana Studio with PHP plugin • Delphi for PHP (RadPHP) • Eclipse PDTZend StudioNuSphere PhpED • PHP Expert EditorphpStormAdobe Dreamviewer
Python Boa Constructor • Eclipse+PyDev • EricGeanyIDLEKomodoNetBeans • PyCharm • PyScripter • SPE
ActionScript Adobe FlashAdobe Flash BuilderFlashDevelop • CodeDrive • IntelliJ IDEAEclipse FDT • Realaxy ActionScript Editor
Ruby RubyMine
Просмотр этого шаблона Qt
Технологии Meta-object System · Phonon · QML · QtScript · Qt Quick · Qt Style Sheets · Сигналы и слоты
Инструменты qmake · Qt Creator · Метаобъектный компилятор
Привязки PyQt · PySide · QtRuby · Qt Jambi
Связанные темы KDE · MeeGo · Qt Development Frameworks