Qt:Документация 4.3.2/tutorial-t1

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск
40px Внимание: Актуальная версия перевода документации находится здесь

__NOTOC__

Image:qt-logo.png

Главная · Все классы · Основные классы · Классы по группам · Модули · Функции

Image:trolltech-logo.png

[Предыдущая: Учебное пособие ] [ Учебное пособие ] [Следующая: Часть 2 ]

Содержание

Урок 1 - Hello World!

Файлы:

Наша первая программа будет традиционной, она выводит на экран "Hello world"". Она содержит необходимый минимум для запуска Qt приложения. Скомпилировав ее вы увидете на экране следующее:

Файл:T1.png

Вот исходный код данного приложения:

 #include <QApplication>
 #include <QPushButton>
 
 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
 
     QPushButton hello("Hello world!");
     hello.resize(100, 30);
 
     hello.show();
     return app.exec();
 }

Строчка за строчкой

 #include <QApplication>

Строка, подключающая описание класса QApplication. В графическом приложении Qt обязательно должен быть создан один объект QApplication. QApplication управляет ресурсами приложения, например, задавая тип шрифта или курсора.

 #include <QPushButton>

Строка, подключающая описание класса QPushButton. Этот класс относится к API библиотеки Qt. В этой библиотеке есть файл с таким же названием, который описывает этот класс.

QPushButton описывает кнопку графического интерфейса пользователя, которую пользователь может нажать и отпустить. Кнопка является виджетом QWidget, с которым может взаимодействовать пользователь. Виджет - это объект графического интерфейса пользователя, который может реагировать на действия пользователя и имеет графическое представление. Программист может изменять свойства виджета, например, задавать его цвет. На кнопке QPushButton может быть написан какой-нибудь текст или отображаться картинка QIcon.

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

Функция main() является точкой входа в вашу программу. В большинстве случаев при написании приложения Qt, только main() нуждается в определённых, связанных с инициализацией действиях до передачи управления библиотеке Qt, которая уже потом, в свою очередь, сообщает программе о действиях пользователя.

Параметр argc - число аргументов командной строки, а argv - массив этих аргументов. Это - стандартная особенность C++.

     QApplication app(argc, argv);

Объект app является экземплятором QApplication. В этой строчке мы его создаем. Мы передаём параметры argc и argv в конструктор QApplication, чтобы он мог обработать стандартные аргументы командной строки (такие как -display при работе с X11). Все переданные аргументы, обработанные Qt, будут удалены из argv, argc уменшится в соответствии с этим. Для получения подробной информации о работе с этими параметрами посмотрите документацию на метод QApplication::argv().

Объект QApplication должен быть создан прежде, чем вы начнете работать с графическим интерфейсом пользователя Qt.

     QPushButton hello("Hello world!");

Здесь сразу после создания экземпляра объекта QApplication, следует код, оперирующий с GUI: создаётся кнопка.

Кнопка создается с надписью "Hello world!". Посколько мы не определяем родительское окно кнопки (мы можем это сделать, передав второй аргумент в конструктор QPushButton), то кнопка будет являться отдельным окном, c собственной оконной рамкой и заголовком.

     hello.resize(100, 30);

В следуюзей строчке устанавливаем размеры кнопки, 100 пикселей по горизонтали и 30 пикселей по вертикали (эти размеры задают только размеры кнопки, без учета размера окна приложения). Мы бы могли также задать местоположение кнопки, вызвав метод QWidget::move(), но вместо этого позволяем системе управления окнами выбрать местоположение самостоятельно.

     hello.show();

При создании виджет является невидимым. Чтобы сделать его видимым, необходимо вызвать метод QWidget::show().

     return app.exec();
 }

В этом месте main() передаёт управление Qt. QCoreApplication::exec() вернёт значение, когда приложение закончит работу. ( QCoreApplication является базовым классом для QApplication. Он определяет ядро QApplication, функциональность, не связанную с GUI, и может быть использован при разработке приложений без графического интерфейса пользователя).

В методе QCoreApplication::exec() происходит обработка всех пользовательских и системных событий и передача управления соотвествующим виджетам.

Теперь можно скомпилировать нашу программу и запустить ее.

Примеры учебного руководства находтся в папке Qt examples/tutorial. Они автоматически собираются при сборке Qt.

Если вы хотите внести изменени в исходный код, вам необходимо собрать C++ приложение, для чего нужен make-файл (файл сборки). Самый простой путь создания этого файла - использование утилиты qmake, которая входит в состав Qt. Если вы сохранили main.cpp в отдельной пустой директории, всё, что вам нужно сделать, это выполнить команды:

 qmake -project
 qmake

Первой командой мы создаем проектный файл qmake (.pro файл). Следующей командой мы создаем make-файл, основанный на проектном файле. Теперь вы можете выполнить команду make (или nmake, если вы используете Visual Studio), и вы получите свое первое Qt приложение!

Запуск приложения

Когда вы запустите свое приложение, то увидите маленькое окно, внутри которого будет одна кнопка, на которой можно прочитать "Hello world!".

Домашнее задание

Попробуйте изменить размер окна. Понажимайте на кнопку. Если вы запустили пограмму под управлением X11, то при запуске укажите опцию -geometry (например, -geometry 100x200+10+20).

[Предыдущая: Учебное пособие ] [ Учебное пособие ] [Следующая: Часть 2 ]



Copyright © 2007 Trolltech Trademarks
Qt 4.3.2