Qt creator что это
Перейти к содержимому

Qt creator что это

Qt Creator

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 и прочих. Поддерживаются следующие режимы отладки:

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

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

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

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

Архитектура

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

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

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

Краткий обзор кроссплатформенного фреймворка Qt

QtQt — это кроссплатформенный фреймворк для разработки ПО на языке программирования C++(и не только). Также имеется и для Ruby — QtRuby, для Python — PyQt, PHP — PHP-Qt и других языков программирования. Разрабатывается компанией Trolltech с 1996 года.

С использованием этого фреймворка написано множество популярных программ: 2ГИС для Android, Kaspersky Internet Security, Virtual Box, Skype, VLC Media Player, Opera и другие. KDE — это одно из окружений рабочего стола со множеством программ для Linux написано с использованием фреймворка Qt.

Qt полностью объектно-ориентированная, кросс-платформенная. Дает возможность разрабатывать платформо-независимое ПО, написанный код можно компилировать для Linux, Windows, Mac OS X и других операционных систем. Включает в себя множество классов для работы с сетью, базами данных, классы-контейнеры, а также для создания графического интерфейса и множество других(чуть ниже).

Qt использует MOC (Meta Object Compiler) для предварительной компиляции программ. Исходный текст программы обрабатывается MOC, который ищет в классах программы макрос Q_OBJECT и переводит исходный код в мета-объектный код, после чего мета-объектный код компилируется компилятором C++. MOC расширяет функциональность фреймворка, благодаря ему добавляются такие понятия, как слоты и сигналы.

В Qt имеется огромный набор виджетов (Widget), таких как: кнопки, прогресс бары, переключатели, checkbox, и другие — они обеспечивают стандартную функциональность GUI (графический интерфейс пользователя). Позволяет использовать весь функционал пользовательского интерфейса — меню, контекстные меню, drag&drop.

Одно окно в разных ОС

Одно окно в разных ОС

Как видно на картинке, программы имеют родной внешний вид в различных операционных системах.

Qt имеет среду разработки Qt Creator. Она включает в себя Qt Designer, с помощью которого можно создавать графический интерфейс. Визуальное создание интерфейса позволяет легко и просто создавать интерфейс, перетаскивая различные виджеты(выпадающие списки, кнопки, переключатели) на форму.

Форма в Qt Designer

Форма в Qt Designer

Qt поставляется вместе с Qt Assistant — это огромный интерактивный справочник, содержащий в себе информацию по работе с Qt. К сожалению полностью не переведен на русский. В состав Qt также входит Qt Linguist, которая позволяет локализировать приложение для разных языков.

Состав библиотеки Qt

Библиотека Qt состоит из различных модулей, которые подключаются при помощи директивы #include. В состав входят:

QtCore — классы ядра библиотеки Qt, они используются другими модулями.

QtGui — модуль содержит компоненты графического интерфейса.

QtNetwork — модуль содержит классы для работы с сетью. В него входят классы для работы с протоколами FTP, HTPP, IP и другими.

QtOpenGL — модуль содержит классы для работы с OpenGL

QtSql — содержит классы для работы с различными базами данных с использованием языка SQL.

QtSvg — содержит классы, позволяющие работать с данными Scalable Vector Graphics (SVG)

QtXml — классы для работы с XML

QtScript — классы для работы с Qt Scripts

Имеются и другие модули.

В данный момент Qt распрастраняется по 3-м лицензиям: Qt Commercial(собственическая), GNU GPL, GNU LGPL.

Заключение

В настоящее время Qt фреймворк активно развивается. Имеет интуитивно понятное API, огромную документацию с большим количеством примеров, мощнейшую среду разработки QtCreator и дополнительный инструментарий. Этот фреймворк стоит Вашего внимания.

Для вас это может быть интересно:

Краткий обзор кроссплатформенного фреймворка Qt : 1 комментарий

Использую его при написании графических приложений для Linux, классная штука. Жаль литературы нет русскоязычной для последней версии.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Обзор среды разработки Qt Creator 0

Статья была опубликована 1 февраля 2010 года в 00:00, а последний раз правилась 1 февраля 2010 года в 10:46.

Ничто не предвещало, что я быстро и без сожаления перейду на новую интегрированную среду разработки Qt Creator со старого доброго KDevelop, в котором писал программы много лет.

Примечание: Статья была впервые опубликована в электронном издании «Open Source» (выпуск №037 от 31.12.2008). Ее размещение на nixp.ru производится в соответствии с разрешением со стороны редакции и автора материала.

Предисловие

Ничто не предвещало, что я быстро и без сожаления перейду на новую интегрированную среду разработки Qt Creator со старого доброго KDevelop, в котором писал программы много лет. Qt Creator предназначена для разработки на Qt и выпущена корпорацией Nokia, недавно поглотившей Trolltech, в качестве так называемого «technology preview» под версией 0.9. Пусть вас не смущает это словосочетание (technology preview), перевести которое я не решаюсь, а писать русскую кальку не хочу. Продукт вполне годен для ежедневного использования в работе. Свои впечатления о нем я и поведаю в этом обзоре.

Общие сведения

Linux-версия Qt Creator размером около 20 мегабайт доступна на trolltech.com/developer/qt-creator. Именно оттуда я и скачал эту IDE, установив поначалу только ради интереса. Массовая версия Qt Creator распространяется как бинарный файл-установщик. Его можно поставить без прав суперпользователя в локальный пользовательский каталог. Весь Qt Creator устанавливается в один каталог, куда автоматически копируется и статическая версия Qt 4.5, необходимая для функционирования программы. Другая установленная в системе версия Qt при этом не страдает — более того, именно она и будет использоваться для сборки проектов, а вовсе не эта встроенная сборка Qt 4.5, как можно было бы предположить. Qt Creator для Windows занимает гораздо больший объем — порядка 200 мегабайт. Это вызвано тем, что в дистрибутив включена и полная версия Qt 4.4.3, и MinGW. Таким образом, нет смысла качать Qt для Windows отдельно, если вы будете работать в Qt Creator, а вот Linux-пользователям помимо установленной Qt 4.x понадобятся и соответствующие devel-пакеты. Кроме «стабильных» версий Qt Creator на FTP-сервере проекта можно найти и ежедневные бинарные сборки — есть шанс, что ошибки «стабильных» релизов в них исправлены, однако добавлены и новые.

Текущая лицензия на бинарные сборки Qt Creator — отнюдь не GPL, хотя позже обещают распространять и под совместимой с GPL. А вот исходники Qt Creator, доступные через Git, распространяются под GPL 2 и 3 с традиционным для Trolltech (а теперь — уже Nokia) добавлением. Кстати, мне не удалось собрать Qt Creator из исходников. Вероятно, всё же Qt версии не ниже 4.5 для Qt Creator — жизненная необходимость, однако стабильная работа в KDE 4 мне важнее, чем опыт установки Qt 4.5 (пока они не очень «дружат»).

Qt Creator тесно взаимодействует с другими утилитами. В частности, с Qt Designer — для визуального построения интерфейса, а с GDB — для отладки. Первым я не особо пользуюсь, но выглядит это следующим образом: при двойном щелчке по ui-файлу в списке файлов проекта в среде разработки открывается Qt Designer с тем интерфейсом, который определен в выбранном файле.

В отличие, скажем, от KDevelop, Qt Creator в качестве стандартного файла проектов не изобретает новый формат, а использует знакомый Qt-программистам pro-файл — тот самый, который надлежит передавать утилите qmake. Особые настройки проекта, касающиеся самой среды разработки, сохраняются в файл, имеющий то же имя, что проект, но с добавлением в конец слова «user».

Работа в Qt Creator

В Qt Creator есть удобный «мастер» для создания новых проектов, форм, файлов с классами и так далее. Хотя вместо создания ui-файла для главного окна можно было бы вставлять в проект какой-нибудь простой код, не касаясь вотчины визуального программирования. После создания или открытия проекта перед нами предстает сама среда разработки. Поначалу она выглядит непривычно. Например, нет знаменитых табов (вкладок с корешками). Вернее, они есть для всего кроме файлов редактора. Сами же файлы доступны из двух списков: файлов проекта (по умолчанию на панели слева) и уже открытых файлов (в верхней строке панели редактора). Почему же принято решение отказаться от вкладок? Думаю, что ради экономии места на экране.

Еще один непривычный момент довольно относителен, поскольку интерфейс «без диалогов» давно взят на вооружение некоторыми другими программами (например, редактором TEA). В Qt Creator для поиска и замены по тексту появляются поля ввода, при наборе текста в которых найденные совпадения сразу подсвечиваются в редакторе. Для поиска дальше есть F3, а для замены — отдельное поле ввода. Рядом расположены и опции. Благодаря всему этому подобные операции проводятся быстро и удобно. То же касается информационных и отладочных панелей: никакой модальности, лишних окон, перекрывающих основное, и прочих прелестей былого подхода к архитектуре интерфейса. Всё в одном главном окне!

В Qt Creator позаботились и о редакторе кода. Подсветкой синтаксиса нынче мало кого можно удивить, поэтому сразу перейдем к другим полезным возможностям. Например, есть «полный парсер кода» — это возможность редактора проверять код на правильность с точки зрения языка программирования. Когда вы набираете код, то еще до компиляции видите, где допустили синтаксическую ошибку. В большинстве случаев срабатывает, хотя бывают и исключения. Замечательно работает автоматическое дополнение: набрали имя экземпляра класса, поставили точку или «->» — и получаете выпадающий список с членами класса. Есть свёртывание блоков кода — так называемый «фолдинг». Впрочем, я считаю, что код более нагляден без него, поэтому никогда такой возможностью не пользуюсь.

Хорошо сделано перемещение по коду — причем без внешнего ctags. Достаточно поставить курсор на имя функции или переменной и нажать F2, после чего редактор переносит в место объявления. Shift-F2 — переключает между объявлением и кодом, а F4 — просто переключает заголовок и cpp-файл. Если поднести указатель мыши к имени вызываемой в коде функции, то появится подсказка по ее параметрам.

Справочная система работает следующим образом. Допустим, у вас в коде где-то есть переменная типа QMenu. Если поставить на нее курсор и нажать F1, возникает справочная панель с описанием класса QMenu. Также в главном окне существует вкладка Help, где доступна вся документации по Qt.

Главное окно разделено на вкладки:

  • Welcome — экран загрузки проектов. Может быть загружено одновременно несколько.
  • Edit — редактор кода.
  • Debug — вызывает панель отладчика.
  • Projects (или Build&Run в старых версиях) — настройки проекта. Каждый проект имеет два режима сборки: обычный (release) и отладочный (debug). Вот на этой вкладке и можно менять параметры отдельно для режима.
  • Output — консольный вывод программы.
  • Help — помощь.

Итак, большую часть времени вы будете проводить на вкладке редактора. Не совсем понятно, для чего в настройках Qt Creator есть целых пять разделов как бы для разных редакторов — по умолчанию, для скриптов, для С++, для проектов и Perforce (коммерческая система контроля над версиями). Настройки редактора С++ — это и есть настройки редактора кода вашей Qt-программы. Замечу, что в самых свежих «снэпшотах» Qt Creator настройки шрифта всё же упорядочены в единственный раздел, чего и следовало ожидать.

Полезно заняться настройкой подсветки и шрифтов, поскольку по умолчанию работать не очень удобно. Во-первых, размер шрифта слишком мелкий, а во-вторых, блоки кода, заключенные в #ifdef / #endif, трактуются парсером как «disabled code» (выражение из настроек Qt Creator) и раскрашиваются серым цветом — разбирать написанное не очень удобно. Если вам не нравится «фолдинг», там же в настройках редактора отключите Display Folding Markers.

На полях редактора можно ставить закладки и точки останова. Сама панель редактора может быть разделена на бесконечное множество вложенных панелей — подобно Konqueror. Таким образом на экране одновременно можно редактировать либо несколько файлов, либо один и тот же документ, но в разных местах. Для этого надо сначала разделить панель редактора (например, через Window — Split Top/Bottom), а затем выбрать пункт меню Window — Duplicate document. Такой подход иногда бывает полезнее, чем утомительные переходы по закладкам.

Архитектура Qt Creator зиждется на плагинах. Редактор — плагин, движок закладок — плагин, панель с файлами проекта — тоже плагин, и так далее. Список установленных плагинов можно посмотреть в меню Help — About Plugins. Вероятно, в будущем можно будет устанавливать дополнительные плагины, но покамест механизма для этого я не обнаружил, равно как и самих дополнительных плагинов. Зато в самих сборках новые плагины появляются с небывалой скоростью. Только за месяц появились модули поддержки Subversion и Git. Qt Creator вообще сейчас присуща скоротечность. Пункты меню Qt Creator от версии к версии переименовываются и переносятся в другие подменю. Не говоря уже о том, что постоянно рождаются дополнительные функции.

Уделим некоторое внимание окну настроек, которых, благо, много. Можно настраивать сочетания клавиш и, более того, импортировать / экспортировать их с помощью внешних файлов. Это удобно для переноса любимых сочетаний клавиш с машины на машину. В состав Qt Creator по умолчанию входят два таких предустановленных файла: для MS Visual C++ и Xcode. Всё, что связано с автоматическим дополнением, отступами, подсветкой синтаксиса и прочим, находится в настройках редактора — Text Editor.

Другое интересное средство в Qt Creator — это Locator (в старых версиях — Quick find). Для того, чтобы переместить в него фокус, достаточно нажать на Ctrl-K. Выглядит как обычная строка поиска, а служит для быстрого поиска чего угодно в чём изволите. Если говорить конкретнее — ищет файлы, в файлах, классы, функции. Поддерживает символы-модификаторы для уточнения задачи поиска. Например, вы хотите найти в документации Qt описание глобального указателя qApp. Что делать? Раньше приходилось открывать документацию через браузер и искать там. Но в Qt Creator, когда всегда под рукой Locator, достаточно набрать в строке поиска ? qapp и нажать Enter. Перейти на строку под номером 100? Пожалуйста — набираете номер и снова Enter.

И напоследок, вернемся к взаимодействию с отладчиком GDB. Qt Creator через свой графический интерфейс позволяет отлаживать не только текущий проект, но и любую внешнюю программу — конечно, если она собрана с отладочной информацией. При отладке данные различного рода отображаются в отдельных вкладках: нити, переменные, точки останова и дизассемблер. Особенно наглядно выглядит в отладчике экземпляр QStringList — видны все его элементы. Стандартный вывод самого GDB по умолчанию выключен, равно как и некоторые другие вкладки вроде сведений о содержимом регистров процессора. Если программа по какой-то причине «вылетает», то по данным в отладочной панели сразу видно, в каком именно месте кода произошел сбой.

Итоговые впечатления

Казалось бы, какие могут быть «итоги» для программы, которая развивается каждый день и выпуск коей состоится лишь в 2009 году? Однако уже сейчас Qt Creator — это мощная среда разработки. Хотя язык не поворачивается назвать ее «зрелой» — уж больно скоро в ней все меняется.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *