Часть I. Основные возможности средств разработки Qt
Глава 1. Первое знакомство
В данной главе показано на примере создания простого приложения с графическим интерфейсом пользователя (GUI — graphical user interface), как можно обычные средства С++ совместить с функциональными возможностями Qt. Здесь также рассматриваются две ключевые идеи Qt: сигналы и слоты (signals and slots) и компоновка графических элементов (layout). В главе 2 мы рассмотрим более подробно возможности Qt, а в главе 3 мы начнем разрабатывать более реалистичное приложение.
Если вы уже знакомы c Java или C#, но имеете лишь ограниченный опыт работы с С++, возможно, вы захотите начать с Приложения Б, в котором дается введение в С++.
«Здравствуй, Qt»
Давайте начнем с очень простой Qt—программы. Сначала мы разберем каждую строку этой программы, а затем покажем способы ее компиляции и выполнения.
01 #include
02 #include
03 int main(int argc, char *argv[])
04 {
05 QApplication app(argc, argv);
06 QLabel *label = new QLabel("Hello Qt!");
07 label->show();
08 return app.exec();
09 }
В строках 1 и 2 в программу включаются определения классов
В строке 5 создается объект
В строке 7 создается «виджет» текстовая метка
Строка 7 делает текстовую метку видимой. Виджеты всегда создаются сначала невидимыми, и поэтому до непосредственного вывода на экран вы можете настроить их и тем самым не допустить мерцания экрана.
Строка 8 обеспечивает передачу управления приложением Qt. В этом месте программа переходит в цикл обработки событий, т.е. в своего рода режим «простоя», ожидая со стороны пользователя таких действий, как щелчок мышки или нажатие клавиши на клавиатуре.
Для простоты мы не делаем вызов оператора
Теперь вы можете проверить работу этой программы на своей машине. Сначала необходимо установить Qt 4.1.1 (или более позднюю версию Qt 4); процесс установки рассмотрен в Приложении А. С этого момента мы будем предполагать, что вы корректно установили библиотеку Qt 4 и ее каталог
Находясь в консольном режиме, войдите в каталог
qmake -project
для создания файла проекта, независимого от платформы (
qmake hello.pro
для создания на основе файла проекта зависимого от платформы файла