Cetus Group
Cetus Logo
Информационные системы и программное обеспечение



Файлы проекта

Поддержка

 
Разработка программного обеспечения средствами языка C++ и библиотеки Qt
Размещено 08.01.2006
А.Г. © Часть 1 - "Первая программа с графическим интерфейсом"

Простая программы с графическим интерфейсом пользователя средствами C++ и Qt может быть получена следующим образом (пример выполнен в ОС Linux SuSE 10 с использованием библиотеки Qt версии 3).

1. Создаем форму, формируем соединения "Signal/Slot" и сохраняем форму в файл, как это было показано в примере для PyQt.

2. Пишем главный модуль на C++ в файл "main1.cpp":

#include < qapplication.h>
#include "form1.h"

int main(int argc,char *argv[])
{
    QApplication app(argc,argv);
    Form1 form;
    app.setMainWidget(&form);
    form.show();
    return app.exec();
}

3. Так как компиляция программы с Qt связана с необходимостью задавать множество различных аргументов командам компиляции и линковки, для формирования Makefile используем утилиту qmake, которая поставляется в составе Qt и позволяет на основе простого файла проекта получить все необходимые команды компиляции и сборки проекта. Для этого создаем файл проекта "cppqt1.pro" (синтаксис файла описан в документации Qt):

TEMPLATE = app

CONFIG += release warn_on qt thread

TARGET = cppqt1

FORMS = form1.ui

SOURCES = main.cpp

4. Из файла проекта с помощью программы qmake генерируем Makefile:

$QTDIR/bin/qmake cppqt1.pro

5. Строим проект, для этого выполняем команду 'make', которая на основе Makefile с помощью программ "uic" и "moc", входящих в пакет бибилиотеки Qt генерирует из файла формы 'form1.ui' файл заголовков, файл реализации и файл с meta-информацией , компилирует файлы проекта и выполняет линковку:

make
В результате получаем файл программы "cppqt1" с установленными правами на выполнение. Выполняем. Обработчик нажатия на кнопку реализуем в будущем.


P.S.
Команды "uic" и "moc" при необходимости могут использоваться и из командной строки:

$QTDIR/bin/uic form1.ui > form1.h
$QTDIR/bin/uic -impl form1.h form1.ui > form1.cpp
$QTDIR/bin/moc form1.h > moc_form1.cpp


Copyright©2005, Cetus Group : All rights reserved.