[Учебные пособия] [Следующая: Создание окна]
Учебное пособие по виджетам
Введение
Виджеты - базовые строительные блоки приложений с графическим пользовательским интерфейсом (ГПИ), созданных с помощью Qt. Каждый ГПИ-компонент, такой, как кнопка, метка или текстовый редактор, является виджетом и может быть расположен внутри имеющегося пользовательского интерфейса или выводиться на экран как независимое окно. Каждый тип компонента предоставляется отдельным подклассом класса QWidget, который в свою очередь является подклассом класса QObject.
QWidget - не абстрактный класс; он может быть использован как контейнер для других виджетов, и может быть послужить основой для создания подкласса с минимальными усилиями для создания пользовательских виджетов. Этот класс часто используются для создания окон, в которых располагаются другие виджеты.
Как и в случае с объектами QObject, виджеты могут быть созданы с объектами-родителями, чтобы показать принадлежность, гарантируя, что объекты будут удалены, когда не будут больше использоваться. С виджетами, эти отношения предок-потомок имеют дополнительный смысл: каждый потомок отображается внутри области экрана, занятой его предком. Это означает, что, когда удаляется окно, то все содержащиеся в нем виджеты также автоматически удаляются.
Написание функции main
Многие примеры ГПИ в Qt следуют шаблону с наличием файла main.cpp, содержащего код для инициализации приложения, а также нескольких других файлов с исходными кодами и заголовочных файлов, содержащих логику приложения и пользовательские компоненты ГПИ.
Типичная функция main(), записанная в main.cpp, выглядит примерно так:
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
return app.exec();
}
Сначала мы создаем объект QApplication, который конфигурируется с использованием всех аргументов, переданных из командной строки. После создания и показа всех виджетов, мы вызываем QApplication::exec() чтобы запустить цикл событий Qt. Контроль передается в Qt до тех пор, пока эта функция возвращает значение, мы немедленно возвратим значение, получаемое из этой функции.
В каждой части этого учебного пособия мы предоставляем пример, который написан полностью внутри функции main(). В более сложных примерах, код для установки виджетов и компоновок записан в других частях примера. Например, ГПИ для главного окна может быть установлен в конструкторе подкласса QMainWindow.
Примеры виджетов - хорошее место чтобы искать более сложные и завершенные примеры и приложения.
Сборка примеров и учебный пособий
Если вы получили бинарный пакет Qt или сами скомпилировали ее, описываемые в этом учебном пособии примеры уже будут готовы к запуску. Однако если вы захотите внести изменения в них и затем перекомпилировать, вам нужно выполнить следующие шаги:
- В командной строке перейти в каталог, содержащий пример, который вы хотите перекомпилировать.
- Наберите qmake и нажмите клавишу Return. Если это не сработает, убедитесь что исполняемый файл находится в вашем пути, или введите полностью его местоположение.
- В Linux/Unix и Mac OS X наберите make и нажмите клавишу Return; в Windows с Visual Studio наберите nmake и нажмите клавишу Return.
Исполняемый файл будет создан внутри текущего каталога. В Windows этот файл может располагаться внутри подкаталога debug или release. Вы можете запустить этот файл, чтобы увидеть как работает код примера.
[Учебные пособия] [Следующая: Создание окна]
Авторские права © 2010 Nokia Corporation и/или её дочерние компании |
Торговые марки |
Qt 4.6.4 |
|