Учебное пособие по виджетамВведениеВиджеты - базовые строительные блоки приложений с графическим пользовательским интерфейсом (ГПИ), созданных с помощью Qt. Каждый компонент ГПИ (например, кнопки, метки, текстовый редактор) является виджетом, который размещается где-нибудь внутри окна пользовательского интерфейса, или выводится на экран как независимое окно. Каждый тип виджетов предоставляется подклассом класса QWidget, который в свою очередь является подклассом класса QObject. QWidget - не абстрактный класс. Он может быть использован как контейнер для других виджетов, и может послужить основой для создания подкласса с минимальный усилиями для создания пользовательских виджетов. QWidget часто используется для создания окна, внутри которого размещены другие виджеты QWidget. Как и в случае с объектами QObject, объекты QWidget могут быть созданы с объектами-родителями, чтобы показать принадлежность, гарантируя, что объекты никогда не будут удалены, когда не будут больше использоваться. С виджетами, эти отношения предок-потомок имеют дополнительный смысл: Каждый дочерний виджет отображается внутри области экрана, занятой его предком. Это означает, что когда вы удаляете окно, то все содержащиеся в нем виджеты также удаляются. Написание функции 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() вернёт значение, возвращённое QApplication::exec(). Примеры простых виджетовКаждый из этих примеров простых виджетов написан полностью внутри функции main(). Реальные примеры виджетовВ этих более сложных примерах код, который создаёт виджеты и компоновки, хранится в других файлах. Например, ГПИ главного окна можно создать в конструкторе подкласса QMainWindow. Сборка примеровЕсли вы установили бинарный пакет Qt или сами скомпилировали Qt, то описываемые в этом пособии примеры уже будут собраны и готовы к запуску. Если вы хотите изменить и перекомпилировать их, выполните следующие шаги:
Исполняемый файл создаётся в текущем каталоге. В Windows этот файл может располагаться в подкаталогах debug или release. Вы можете запустить этот исполняемый файл, чтобы увидеть как работает код примера. |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |