Для создания
минимального проекта используется Qt
Creator 2.7.0, Fedora 18 Linux. Версия Qt 4.8.4.
1. Создание
проекта
Откройте Qt
Creator, выберите меню File > New File or
Project. Далее вам нужно указать шаблон
проекта, для этого выбираем Other Project >
Empty Qt Project и нажимаем кнопку Choose
(смотрите рисунок 1).
Рисунок
1. Диалог выбора шаблона проекта
Далее
откроется мастер создания пустого
проекта (рисунок 2).
Рисунок
2. Присваиваем имя проекту и указываем
локацию
Имя проекта
укажите, например, qt_p1, а путь
сохранения проекта ~/Projects/QT домашней
директории пользователя. Нажимаем
кнопку Next.
На следующем
шаге вас попросят указать инструменты
компиляции, сборки и запуска проекта.
Если данный шаг пуст, то вам необходимо
вручную в настройках среды, меню
Tools
> Options, выбрать раздел
Build and Run и
во вкладке
Kits (что такое Kits
на
английском) указать необходимые
настройки, т.е. указать версию компилятора,
версию библиотеки
Qt (смотрите рисунок
3).
Рисунок
3. Настройки среды
В том
случае, если среда уже настроена, то
нажимаем кнопку Next и переходим к
следующему шагу мастера создания пустого
проекта. На следующем шаге мастер
подводит итоги и поэтому нажимаем кнопку
Finish.
Ну вот,
шаблон пустого проекта готов и мы перед
собой видим что-то похожее на рисунок
4.
Рисунок
4. Редактор проекта
В окне
среды слева мы видим дерево проекта, а
справа редактор кода (смотрите рисунок
4).
На следующем
этапе нам необходимо создать класс
главного окна, присвоим ему имя
MainWindow,
который будет унаследован от базового
класса с именем
QMainWindow.
Рисунок
5. Добавление класса главного окна
Для
добавления класса главного окна
необходимо нажать правой кнопкой мыши
на имени проекта из дерева проекта и
выбрать пункт меню Add New (рисунок 5).
Рисунок
6. Выбор шаблона файла
В диалоге
выбора шаблона файла, необходимо выбрать
C++ Class, потом нажать кнопку Choose
(рисунок 6) . В мастере создания класса
присвоить ему имя MainWindow и нажать
кнопки Next и Finish (рисунок 7).
Рисунок
7. Присвоим имя классу главного окна
После
этого вы увидите две категории проекта
с названиями Headers и Sources, в этих
категориях будут размещены заголовочный
и исходный файлы нашего класса главного
окна, с именами mainwindow.h и mainwindow.cpp,
соответственно.
Если вы
посмотрите на содержимое файлов
mainwindow.h и mainwindow.cpp, вы увидите
код, который нам сгенерировал мастер
создания нового класса. Ниже будет
показано содержимое этих двух файлов.
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
signals:
public slots:
};
#endif // MAINWINDOW_H
syntax highlighted by
Code2HTML, v. 0.9.1
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
}
syntax highlighted by
Code2HTML, v. 0.9.1
2. Переходим
к написанию кода
Первым
делом нам нужно определить главную
функцию программы, это начальная точка
откуда начинает выполнятся программа.
Это функция называется main и разместим
мы ее в исходном файле (mainwindow.cpp)
класса главного окна. В конце файла
запишем следующее:
int main(int argc,
char *argv[]) {
}
Далее по
тексту все изменения будем вносить
только в файл mainwindow.cpp.
Для начала
подключим заголовок класса QApplication,
разместив следующую строку:
#include
<QApplication> после строки #include
"mainwindow.h".
В Qt
есть класс с именем QApplication,
который содержит в себе главный цикл
обработки сообщений, и отвечает за
обработку и пересылку всех событий от
оконной системы к нашему приложению.
Мы должны создать объект класса
QApplication и он должен быть, в нашем
приложение, единственным. Данный объект
должен быть создан в самом начале функции
main, перед тем как мы будем размещать
виджеты (Кнопки, метки и т.д.), картинки
в главном окне.
QApplication app(argc,
argv);
В конце
функции main мы должны передать
управление библиотеке Qt, таким
образом запускается цикл обработки
сообщений и ожидается пока не будет
вызвана функция exit() или пока не
уничтожится главное окно (главный
виджет).
return app.
exec();
Между
этими двумя основными конструкциями
нам осталось разместить две строчки
кода. Первой строчкой мы создадим
экземпляр нашего класса главного окна
MainWindow и присвоим ему имя window.
MainWindow *window = new MainWindow;
Второй
строчкой мы сделаем главное окно видимым.
window->show();
Метод show
нам предоставлен базовым классом
QMainWindow от которого мы его и
унаследовали.
Ниже
показан файл mainwindow.cpp вместе с главной
функцией main:
#include "mainwindow.h"
#include <QApplication>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MainWindow *window = new MainWindow;
window->show();
return app.exec();
}
syntax highlighted by
Code2HTML, v. 0.9.1
Рисунок
8. Снимок рабочего стола, минимальный
проект Qt
Ну и конечно
же файл qt_p1.pro, является файлом
проекта, где указаны наши файлы входящие
в проект, к этим файлам относится
mainwindow.h и mainwindow.cpp. Ниже показано
содержимое файла проекта:
HEADERS +=
\
mainwindow.h
SOURCES +=
\
mainwindow.cpp