Интегрированная среда Qt Creator обеспечивает весь процесс создания и отладки приложений в операционных системах Linux, Mac OS X и Windows.

Среда включает собственный специализированный редактор. В отличие от обычного текстового редактора текстовый редактор Qt Creator предназначен для работы с исходными текстами программ, поэтому он:

· помогает форматировать код программы;

· обеспечивает режим подсказок при вводе кода;

· выполняет контроль ошибок;

· осуществляет навигацию по коду по классам, функциям и символам;

· предоставляет контекстно-зависимую справку по классам, функциям и символам;

· при переименовании учитывает области действия идентификаторов;

· идентифицирует место в коде, где функция была описана или вызвана.

Конструирование форм в среде можно выполнять вручную или с использованием клона программы Qt Designer. Компиляция-сборка приложения выполняется с помощью С++ MinGW или Visual C++ в зависимости от настоек среды.

Рассмотрим процесс проектирования приложений с использованием Qt Creator.

При запуске среды Qt Creator на экране появляется окно Начало работы (рисунок 1.15), которое содержит ссылки на учебники и примеры.

Переключение режимов работы среды осуществляется с использованием левой панели окна, на которой статически расположены кнопки:

· Начало – переключает среду в режим Начало работы, используемый для вызова примеров или создания новых проектов;

· Редактор – организует переключение в просмотр и редактирование исходных текстов программы;

· Дизайн – вызывает Дизайнер для создания/редактирования форм проекта;

· Отладка – используется при пошаговом проходе программы и при работе с точками останова;

· Проекты – предназначается для работы с несколькими проектами одновременно;

· Справка – организует работу со справочными сведениями, обеспечивая контекстный и обычный поиски информации.

 

Рисунок 1.15 – Вид окна Начало работы среды QtCreator

При использовании QtCreator приложение создается аналогично тому, как это делается в других средах, например в Delphi:

· разрабатываются формы окон (в QtDesigner или непосредственно в коде программы);

· выполняется описание классов этих окон (автоматически или вручную);

· описываются методы классов окон и основная программа;

· выполняется тестирование и отладка полученной программы.

Примечание. При создании приложения с использованием QtDesigner среда QtCreator создает не только файл формы с расширением .ui, но и заготовку заголовка класса окна. При этом класс, автоматически описанный дизайнером, может, не только служить базовым для класса окна вместе с QWidget, но и находиться с этим классом в отношениях композиции и наполнения, как указывалось ранее.

Несмотря на более простой вариант с множественным наследованием, среда по умолчанию предлагает вариант композиции класса окна и автоматически созданного класса. Для перенастройки выбираем пункт меню Инструменты\Параметры\Дизайнер… и устанавливаем Множественное наследование (рисунок 1.16).

Рисунок 1.16 – Настройка отношения автоматически созданного и оконного классов

Пример 1.5. Приложение Hello. Разработка с использованием Qt Creator.

Создание нового проекта. Разработка приложения начинается, как и в других средах, с создания нового проекта. Проект создается при выборе пункта меню Файл\Новый файл или проект или при нажатии на кнопку Создать проект окна Начало работы (см. рисунок 1.14).

При заказе создания проекта на экране появляются окна мастера создания проекта, на которых последовательно предлагается выбрать шаблон, местоположение, название, базовый класс окна, названия заголовочного файла и файла реализации класса и указать, предполагается ли использование Qt Designer для создания класса описания формы интерфейса, и, если да, то его имя.

В соответствии с заданием мы выбираем шаблон GUI (Graphic User Interface – Графический интерфейс пользователя) приложение Qt (см. рисунок 1.17), заказываем создание окна с применением Qt Designer и подтверждаем все автоматически сгенерированные имена.

Рисунок 1.17 – Первое из последовательности окон задания характеристик проекта

В результате получаем заготовку проекта, которая включает следующие исходные файлы:

· Hello.pro – файл проекта;

· main.cpp – файл основной программы;

· widget.h – заголовочный файл класса окна (заготовка этого файла создается автоматически);

· widget.cpp – файл реализации класса окна;

· widget.ui – редактируемый в Qt Designer файл описания класса образа окна.

Аналогично другим средам разработки заготовку можно запускать на выполнение. При этом на экране появится пустое окно с обычным набором кнопок (см. рисунок 1.18).

Файл проекта заготовки уже настроен для работы со всеми файлами проекта:

QT += core gui

TARGET =

TEMPLATE = app

SOURCES += main.cpp\

widget.cpp

HEADERS += widget.h

FORMS += widget.ui

Рисунок 1.18 – Окно заготовки приложения

Файл заголовка окна widget.h содержит минимальное описание класса окна, наследуемого от двух классов QWidget и автоматически созданного дизайнером класса образа окна Widget:

#ifndef WIDGET_H

#define WIDGET_H

#include "ui_widget.h"

class Widget : public QWidget, private Ui::Widget

{

Q_OBJECT

public: explicit Widget(QWidget *parent = 0);

};

#endif // WIDGET_H

Файл реализации класса widget.cpp содержит только вызов метода построения образа окна:

#include "widget.h"

Widget::Widget(QWidget *parent): QWidget(parent)

{

setupUi(this); // построение образа окна

}

Основная программа main.cpp в заготовке создает объект-приложение a и окно w, визуализирует окно и запускает цикл обработки сообщений:

#include <QtGui/QApplication>

#include "widget.h"

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

Widget w;

w.show();

return a.exec();

}