Qt - это мультиплатформенная C++ библиотека для разработки графического интерфейса приложений (GUI). Qt предоставляет разработчикам приложений все возможности, необходимые для создания приложений с высококачественным пользовательским интерфейсом. Qt - полностью объектно-ориентированная, легко расширяемая и легкая в применении библиотека.

Разрабатываемая компанией Trolltech с 1996 года, Qt является основой для тысяч успешных приложений по всему миру и применяется в таких крупных компаниях, как AT&T, NASA, IBM, Xerox, Adobe. Дополнительно к коммерческому использованию Qt, свободная версия Qt - это основа KDE, популярной графической оболочки - стандартного компонента для всех основных дистрибутивов ОС Linux.

Qt включает большой набор виджетов ("widgets") - "controls" в терминологии Windows, которые обеспечивают стандартную функциональность GUI. Qt применяет инновационную альтернативу для меж-объектного обмена сообщениями, называемую "сигналы и слоты", которая заменяет старую неэффективную технологию "обратного вызова" (callback). Qt также использует традиционную модель сообщений для обработки нажатий клавиш клавиатуры, действий с мышью и т.д. Мультиплатформенные GUI-приложения, основанные на Qt, могут использовать всю функциональность пользовательского интерфейса, применяемого в современных приложениях - меню, контекстные меню, drag&drop, стыкующиеся панели...

Интуитивно понятные наименования и непротиворечивый подход к программированию упрощают написание программ. Qt включает Qt Designer, средство для визуального создания графического интерфейса приложений. Qt Designer поддерживает раскладки компонентов Qt дополнительно к абсолютному позиционированию. Qt Designer может быть использован либо только как редактор GUI, либо как полноценное средство разработки с использованием встроенного редактора C++ кода.

Qt имеет отличную поддержку 2D и 3D - графики. Qt - это фактически стандартный набор GUI-средств для платформенно-независимого программирования с OpenGL.

Qt дает возможность создания платформенно-независимых приложений для работы с базами данных, используя стандартные СУБД. Qt включает "родные" драйвера для Oracle, Microsoft SQL Server, Sybase Adaptive Server, IBM DB2, PostgreSQL, MySQL и ODBC-совместимых баз данных. Функциональность Qt с базами данных полностью интегрирована с Qt Designer, который может отображать данные из БД "вживую". Qt включает специфичные для БД виджеты, а также поддерживает расширение для работы с БД любых встроенных или отдельно написанных виджетов.

Qt-программы имеют "родной" внешний вид на всех поддерживаемых платформах, используя стили и темы. Для единого исходного кода Вашего приложения, перекомпиляция - это единственное, что требуется для сборки приложения от Windows 95 до XP, Mac OS X, Linux, Solaris, HP-UX, и множества других версий Unix с X11. Приложения на Qt также могут выполняться на Qt/Embedded. Средство qmake производит файлы проектов (makefile, .dsp, etc.) в зависимости от целевой платформы.

Так как архитектура Qt использует преимущества локальных платформ, многие клиенты используют Qt для разработки платформенно-зависимых приложений для Windows, Mac OS X, Unix, потому что они предпочитают подход Qt. Qt включает поддержку важных специфичных для платформы свойств, например, ActiveX для Windows и Motif для Unix.

Qt везде использует Unicode и имеет значительную поддержку интернационализации. Qt включает Qt Linguist и другие средства для поддержки процесса перевода. Приложения могут легко использовать и смешивать тексты на арабском, китайском, английском, еврейском, японском, русском и других языках, поддерживаемых Юникодом.

Qt включает набор специфичных для областей классов. Например, Qt имеет модуль XML, который включает парсеры SAX и DOM. Объекты могут быть сохранены в памяти с использованием STL-совместимых классов коллекций. Локальная и удаленная работа с файлами с использованием стандартных протоколов поддерживается классами ввода/вывода и работы с сетью.

Приложения на Qt могут расширять свою функциональность с помощью модулей ("plugins") и динамических библиотек. Модули включают дополнительные кодеки, драйвера баз данных, форматы изображений, стили и виджеты. Библиотеки могут предложить неограниченное расширение функциональности. Модули и библиотеки могут быть проданы отдельно как продукты с сохранением всех прав.

Qt - это сформировавшийся инструментарий C++, который широко используется по всему миру. Мультиплатформенные средства, визуальный редактор GUI и элегантный API делают разработку приложений на Qt приятной и быстрой.

(Trolltech's Qt Whitepaper, перевод © Racheengel 15.03.04)

Qt поддерживается на следующих платформах:

  • MS/Windows - 95, 98, NT 4.0, ME, 2000 и XP
  • Unix/X11 - Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX, IBM AIX, SGI IRIX и множестве других
  • Macintosh - Mac OS X
  • Embedded - Linux-платформы с поддержкой буфера кадров.

Qt выпускается в нескольких редакциях:

Qt Enterprise Edition и Qt Professional Edition предназначены для разработки коммерческого ПО. Данные редакции позволяют традиционное распространение коммерческого ПО и включают бесплатные обновления и техническую поддержку. Для получения расценок, зайдите на сайт компании Trolltech на страницу Цены и Доступность, или свяжитесь по e-mail с отделом продаж: sales@trolltech.com. Enterprise Edition включает дополнительные модули, которые отсутствуют в Professional Edition.

Qt Free Edition - версия для Unix/X11 для разработки только бесплатного ПО с открытым кодом. Поставляется бесплатно согласно условиям Публичной Лиценции Q Public License и Общей Публичной Лицензии GNU General Public License. Последняя версия доступна для загрузки здесь.

Qt/Embedded Free Edition - Embedded-версия Qt для разработки только бесплатного ПО. Поставляется бесплатно согласно условиям Общей Публичной Лицензии GNU General Public License.