Для того, чтобы создать первую программу надо уже ознакомиться с большинством возможностей библиотеки, по крайней мере, с ее базовыми структурами и классами, но у меня принцип изучения новых языков (библиотек и т.п.) немного другой. Зачем читать книгу из нескольких сотен страниц, если создание программы требуется уже сейчас. Более разумно прочитать первый десяток страниц и создать первое работающее приложение, а затем уже постепенно вгрызаться внутрь описания других возможностей, причем не всех подряд, а только тех, которые реально нужны в данный момент. Со временем Вам потребуются все возможности изучаемого объекта, и само собой, постепенно изучение завершится победным концом.
В общем, хватит прелюдий. Давайте создадим первую программу. Любые приложения на Qt требуют подключения заголовочного файла qapplication.h с определением класса QApplication, который управляет выполнением и установками GUI приложения. Для того, чтобы создать примитивный интерфейс добавим к окну приложения кнопку. Для этого следует подключить описание соответствующего класса QPushButton в файле qpushbutton.h.
Пишем код в файл app1.cpp:
#include <qapplication.h> #include <qpushbutton.h> int main(int argc, char **argv) { QApplication app1(argc, argv); QPushButton button1("linux.firststeps.ru!",0); button1.resize(300,30); app1.setMainWidget(&button1); button1.show(); return app1.exec(); }
Для компиляции этой программы требуется указать каталоги, в которых gcc может найти заголовочные файлы для X11 и Qt с помощью ключа -I. А также каталоги с библиотеками. При установке библиотеки Qt создается специальная переменная среды QTDIR, указывающая базовый каталог библиотеки. Узнать его можно с помощью команды:
dron:~# echo $QTDIR /usr/lib/qt dron:~#
У Вас это может быть другой каталог, но смысл от этого не меняется. Мы будем применять эту переменную для компиляции.
dron:~# gcc app1.cpp -o app1 -I/usr/X11R6/include -I$QTDIR/include -L/usr/X11R6/lib -L$QTDIR/lib -lqt
По идее все должно скомпилироваться. По крайней мере, у меня образовался файл app1. И после запуска появилось то, что требовалось:
По строкам разбирать эту программу думаю нет смысла, однако основные моменты все-таки надо обозначить. Объект QApplication может быть в программе только один и он самый главный. Далее, чтобы приложение знало, что отображать внутри формы требуется назначить главный ей, так называемый, Widget функцией setMainWidget(). А отображаем мы внутри него кнопку button1. Позже мы более детально разберемся со всеми этими классами, а пока мы научились создавать и компилировать простые приложения на Qt.