Введение в Qt4 (2 стр)
Автор: Андрей Эдуардович Яроменок
4. Использование.
[todo] more detail
Использование данной библиотеки в общем возможно для замены таких API, как glut/glaux + различные GUI поверх них. После появления вайджета для Direct3D - и DxUI.
Также Qt4 может использоваться как замена STL (а может и как дополнение с STL-type итераторами).
Использование базовых классов Qt для наследования позволит перенести всю мощь этой библиотеки в классы пользователя.
4.1. Примеры
Автор постарался акцентировать свой внимание на документации библиотеки отнюдь не зря - имеющие примеры покрывают практически весь возможный диапазон её использования.
Ну а традиционный helloworld выглядит так
#include <QCoreApplication> int main(int argc, char *argv[]) { QCoreApplication app( argc, argv); return 0; }
#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( ); }
4. Выводы
Данная библиотека является достойным вспомогательным API, дающим возможность автору приложения более сконцентрироваться на архитектурных/алгоритмических изысканиях вместо первоначального создания своего framework. Возможность коммерческого использовния данной библиотеки гарантирует, а также опыт работы с её объектной моделью могут быть в дальнейшем использованы в различных проектах.
5.Приложения
5.1. Недостатки струтуры библиотеки, на взгляд автора:
- отсутсвие родного класса для точек, задаваемых 3мя координатами, равно как и всей прочей 3D математики(впрочем, подавляющее большинство их всё равно переписывает, а наличие мощных базовых классов и открытые исходные кода сильно упростят эту задачу).
- класс загрузки изображений QImage требует наличия графического контекста, чтое делает невозможным его использование с консольными/использующими другой GUI(glut/DxUI) приложениями.
- отсутвие поддержки fp16 (OpenEXR/NV расширения).
- отсутсвие автоматической загрузки OpenGL расширений (решатеся через использовнаие glew).
5.2. Список продуктов, используемых автором, базируемых на Qt
(как правило, версии 3.х.х)
- KDE(Linux Desktop);
- Google earth;
- Alias Maya installer;
- doxygen;
- OpenSG scene viewer;
5.3. Коммерческое использование
[todo] more detail
5.4. О курицах и яйцах.
- Проект дестопа под Linux KDE стартовал на базе библиотеки Qt (ещё с версии 1) сразу под GNU GPL. Qt2 была переведена на GNU GPL специально для KDE(версии для Windows/Mac оставались только коммерческими). Qt4 разработа во главе с новым технически директором TrollTech, бывшим лидером проекта KDE
- утилита документирования исходных кодов doxygen была написана из-за того, что аналогиная по функциональности утилита от TrollTech не была публино доступна. В Qt4 же используется уже только doxygen.
Поддержка игровых приставок(консолей) напрямую не декларируется Trolltech, однако Qt4 компилируется на Power 32/64(PS3/XBox360/GameCube) архитектуре (включая многоядерные Power5), а платформа для мобильных компьютеров QTopia(qt базируемая) используется в основном на ARM процессорах(GameBoy), а также MIPS(PSP).
5.5. Ссылки.
Qt - http://www.trolltech.com
Doxygen - http://www.doxygen.org
KDE http://www.kde.org
Google earth http://earth.google.com
OpenEXR http://www.openexr.org
PS. данная статья была полностью написана в Qt базируемом KWord(KOffice/KDE).
PSS. редактирование данной статьи было сделано благодаря новым фичам - http://www.gamedev.ru/community
30 октября 2005 (Обновление: 11 янв. 2006)