Qt:Документация 4.3.2/tutorial-t1
Материал из Wiki.crossplatform.ru
![]() | Внимание: Актуальная версия перевода документации находится здесь |
__NOTOC__
Главная · Все классы · Основные классы · Классы по группам · Модули · Функции |
[Предыдущая: Учебное пособие ] [ Учебное пособие ] [Следующая: Часть 2 ]
Содержание |
[править] Урок 1 - Hello World!
Файлы:
Наша первая программа будет традиционной, она выводит на экран "Hello world"". Она содержит необходимый минимум для запуска Qt приложения. Скомпилировав ее вы увидете на экране следующее:
Вот исходный код данного приложения:
#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
|