- Trolltech Qt
-
Qt Стандартная программа designerТип Библиотека элементов интерфейса (виджетов) Разработчик Qt Software Написана на C++ ОС Кроссплатформенный Версия 4.5.1 — 23 апреля 2009 Лицензия GPL 2 или 3, LGPL, Проприетарная, QPL Сайт http://www.qtsoftware.com/products Qt (произносится «кьют»[1]) — кросс-платформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: PyQt, QtRuby, Qt Jambi, PHP-Qt и другие.
Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и
Существуют версии библиотеки для Microsoft Windows, систем класса X11, Mac OS X, Microsoft Windows CE, встраиваемых Linux-систем и платформы S60.
До недавнего времени библиотека Qt также распространялась ещё в одной версии: Qt/Embedded. Теперь эта платформа переименована в Qtopia Core и распространяется как отдельный продукт. Qtopia Core обеспечивает базовую функциональность для всей линейки платформ, предназначенных для разработки приложений для встраиваемых и мобильных устройств (КПК, смартфонов и т. п.).
Qt 4 распространяется в четырёх редакциях:
- Qt Console — для разработки приложений без графического интерфейса (демоны, консольные приложения).
- Qt Desktop Light — облегчённая версия для разработки приложений с графическим интерфейсом, но без поддержки баз данных, сети и
- Qt Open Source Edition — полная версия для разработки свободного программного обеспечения, распространяемого под лицензией GNU GPL. Не поддерживает коммерческие компиляторы.
До версии 4.0.0 под свободной лицензией распространялись лишь Qt/Mac, Qt/X11, Qt/Embedded, но, начиная с 4.0.0 (выпущенной в конце июня 2005), Trolltech «освободили» и Qt/Windows. Следует отметить, что существовали сторонние свободные версии Qt/Windows < 4.0.0, сделанные на основе Qt/X11.
Со времени своего появления в 1996 году коммерческая версия библиотеки Qt легла в основу тысяч успешных проектов [2] во всем мире. Кроме того, Qt является фундаментом популярной рабочей среды дистрибутивов GNU/Linux.
Отличительная особенность Qt от других библиотек — использование Meta Object Compiler (MOC) — предварительной системы обработки исходного кода (в общем-то, Qt — это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором). MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Кроме того, это позволяет сделать код более лаконичным. Утилита MOC ищет в заголовочных файлах на C++ описания классов, содержащие макрос
Q_OBJECT
, и создает дополнительный исходный файл на C++, содержащий мета-объектный код.Qt комплектуется визуальной средой разработки графического интерфейса «Qt Designer», позволяющей создавать диалоги и формы «мышью» (в режиме локализацию и перевод вашей программы на многие языки; и «Qt Assistant» — справочная система Qt, упрощающая работу с документацией по библиотеке, а также позволяющая создавать кросс-платформенную справку для разрабатываемого на основе Qt ПО. Начиная с версии 4.5.0 в комлект Qt включена среда разработки «Qt Creator», которая включет в себя редактор кода, справку, графические средства «Qt Designer» и возможность отладки приложений. «Qt Creator» использует в качестве компилятора GCC. Для Windows версий библиотека комплектуется компилятором, заголовочными и объектными файлами
Содержание
Компоненты
Библиотека разделена на несколько модулей, для четвертой версии библиотеки это:
- QtCore — классы ядра библиотеки используемые другими модулями;
- QtGui — компоненты графического интерфейса;
- QtNetwork — набор классов для сетевого программирования. Поддержка различных высокоуровневых протоколов может меняться от версии к версии. В версии 4.2.x присутствуют классы для работы с протоколами HTTP. Для работы с протоколами TCP/IP и
- QtOpenGL — набор классов для работы с SQL. Основные классы данного модуля в версии 4.2.х: QSqlDatabase — класс для предоставления соединения с базой, для работы с какой-нибудь конкретной базой данных, требует объект унаследованный от класса QSqlDriver — абстрактного класса, который реализуется для конкретной базы данных и может требовать для компиляции SDK базы данных. Например, для сборки драйвера под базу данных FireBird/InterBase требует .h файлы и библиотеки статической линковки входящие в комплект поставки данной БД;
- QtScript — классы для работы с Qt Scripts;
- QtSvg — классы для отображения и работы с Scalable Vector Graphics(
- QtXml — модуль для работы с SAX и
- QtDesigner — классы создания расширений QtDesigner’а для своих собственных виджетов;
- QtUiTools — классы для обработки в приложении форм Qt Designer;
- QtAssistant — справочная система;
- Qt3Support — модуль с классами необходимыми для совместимости с библиотекой Qt версии 3.х.х;
- QtTest — модуль для работы с UNIT тестами;
- QtWebKit — модуль WebKit интегрированный в Qt и доступный через её классы;
- QtXmlPatterns — модуль для поддержки XPath 2.0;
- Phonon — модуль для поддержки воспроизведения и записи видео и аудио, как локально, так и с устройств и по сети;
- QtCLucene — модуль для поддержки полнотекстового поиска, применяется в новой версии Assistant в Qt 4.4;
- ActiveQt — модуль для работы с ActiveX и Windows. Модуль доступен только в коммерческой редакции Qt.
Также реализована технология WoC — widgets on canvas, с помощью которой реализована Plasma в KDE 4.1, Будет возможным использовать виджеты библиотеки Qt прямо в аплетах. Обеспечивает расположение виджетов на QGraphicsView с возможностью масштабирования и различных графических эффектов.
Библиотека использует собственный формат проекта, именуемый .pro файлом, в котором собрана информация о том, какие файлы будут скомпилированы, по каким путям искать заголовочные файлы и много другой информации. Впоследствии при помощи утилиты Microsoft Visual Studio 2003/2005 и совсем недавно стала доступна интеграция в
Разработчики на
См. также
- KDE
- Среды разработки для Qt:
- Qt Creator (разработчик: Qt Software)
- HaiQ
- Eclipse (см. Qt Eclipse Integration for C++ )
- Другие инструментарии
Ссылки
- Официальный сайт компании Qt Software
- Официальная документация
- Неофициальная документация (перевод в процессе)
- Русскоязычный форум по Qt
- Книга «Разработка графического интерфейса с помощью библиотеки Qt»
- Qt в DMOZ
Литература
- Ж. Бланшет, М. Саммерфилд Qt 4: Программирование GUI на C++. 2-е дополненное издание. — М.: «КУДИЦ-ПРЕСС», 2008. — С. ---. — ISBN 978-5-91136-038-2
- Ж. Бланшет, М. Саммерфилд Qt 4: Программирование GUI на C++. — М.: «КУДИЦ-ПРЕСС», 2007. — С. 648. — ISBN 978-5-91136-038-2
- Чеботарев А. Библиотека Qt 4. Создание прикладных приложений в среде Linux. — М.: «Диалектика», 2006. — С. 256. — ISBN 5-8459-0996-1
- Макс. Шлее Qt 4: Профессиональное программирование на C++. — СПб.: «БХВ-Петербург», 2007. — С. 880. — ISBN 978-5-9775-0010-6
- Земсков Ю.В. Qt 4 на примерах. — СПб.: «БХВ-Петербург», 2008. — С. 608. — ISBN 978-5-9775-0256-6
Примечания
Wikimedia Foundation. 2010.