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