Первое знакомство

В данной главе показано на примере создания простого приложения с графиче­ским интерфейсом пользователя (GUI - graphical user interface), как можно обычные средства С++ совместить с функциональными возможностями Qt. Здесь также рас­сматриваются две ключевые идеи Qt: сигналы и слоты (signals and slots) и компоновка графических элементов (layout). В главе 2 мы рассмотрим более подробно возможнос­ти Qt, а в главе 3 мы начнем разрабатывать более реалистичное приложение.

Если вы уже знакомы с Java или С#, но имеете лишь ограниченный опыт работы с С++, возможно, вы захотите начать с Приложения Б, в котором дается введение в С++.

«Здравствуй, Qt»


Давайте начнем с очень простой Qt-программы. Сначала мы разберем каждую строку этой программы, а затем покажем способы ее компиляции и выполнения.

1 #include <QApplication>

2 #include <QLabel>

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

4 {

5 QApplication app(argc, argv);

6 QLabel *label = new QLabel("Hello Qt!"); label->show();

return app.execO;

9 }

В строках 1 и 2 в программу включаются определения классов QApplication и QLabel. Для каждого Qt-класса имеется заголовочный файл с тем же именем (с уче­том регистра), содержащий определение этого класса.

В строке 5 создается объект QApplication для управления всеми ресурсами приложения. Для конструктора QApplication необходимо указывать параметры а где и argv, поскольку Qt сама обрабатывает некоторые из аргументов командной строки.

В строке 7 создается «виджет» текстовая метка QLabel, который выводит на эк­ран сообщение «Hello Qt!» (здравствуй, Qt). По терминологии Qt и Unix виджетом (widget) называется любой визуальный элемент графического интерфейса пользова­теля. Этот термин происходит от «window gadget* и соответствует элементу управ­ления («control») и контейнеру («container») по терминологии Windows. Кнопки, меню, полосы прокрутки и фреймы являются примерами виджетов. Одни виджеты могут содержать в себе другие виджеты. Например, окно приложения обычно явля­ется виджетом, содержащим QMenuBar (панель меню), несколько QToolBar (панель ин­струментов), QStatusBar (строка состояния) и некоторые другие виджеты. Большин­ство приложений используют QMainWindow или QDialog в качестве окна приложения, однако Qt настолько гибка, что любой виджет может быть окном. В данном примере QLabel является окном приложения.


<< назад вперед >>