Qt (программное обеспечение) - Qt (software)
Разработка графического интерфейса в Qt Creator используя встроенный Qt Designer на Windows 7 | |
Оригинальный автор (ы) | Хаавард Норд и Эйрик Чамбе-Энг[1] |
---|---|
Разработчики) |
|
изначальный выпуск | 20 мая 1995 г.[1] |
Стабильный выпуск | 5.15.2[2] (20 ноября 2020 г. ) [±] |
Репозиторий | |
Написано в | C ++ |
Операционная система | Android, iOS, Linux (встроенный, Wayland, X11 ), macOS, Майкрософт Виндоус, WebAssembly, ...[3] |
Платформа | Кроссплатформенность |
Тип | Набор инструментов для виджетов и Фреймворк приложения |
Лицензия | Коммерческая лицензия Qt[4] GPL 2.0, 3.0[5] LGPL 3.0[6] |
Интернет сайт | www |
Qt (произносится как "милый"[7][8][9]) это бесплатно и с открытым исходным кодом набор инструментов для виджетов для создания графический пользовательский интерфейс а также кросс-платформенный Приложения которые работают на различных программных и аппаратных платформах, таких как Linux, Windows, macOS, Android или же встроенные системы с небольшими изменениями или без изменений в базовой кодовой базе, оставаясь при этом собственным приложением с собственными возможностями и скоростью.
Qt в настоящее время разрабатывается Компания Qt, публичная компания, и Qt Project под управление с открытым исходным кодом с участием отдельных разработчиков и организаций, работающих над продвижением Qt.[10][11][12] Qt доступен под обеими коммерческими лицензиями[4] и Открытый исходный код[13] GPL 2.0, GPL 3.0 и LGPL 3.0 лицензии.[5][6]
Цели и способности
Qt используется для разработки графический пользовательский интерфейс (GUI) и мультиплатформенность Приложения которые работают на всех основных настольных платформах и большинстве мобильных или встроенных платформ. Большинство программ GUI, созданных с помощью Qt, имеют собственный интерфейс, и в этом случае Qt классифицируется как набор инструментов для виджетов. Также могут быть разработаны программы без графического интерфейса пользователя, такие как командная строка инструменты и консоли для серверов. Примером такой программы без графического интерфейса, использующей Qt, является Cutelyst веб-фреймворк.[14]
Qt поддерживает различные компиляторы, включая GCC Компилятор C ++, Visual Studio люкс PHP через расширение для PHP5,[15] и имеет обширную интернационализация поддерживать. Qt также предоставляет Qt Quick, который включает декларативный язык сценариев называется QML что позволяет использовать JavaScript чтобы обеспечить логику. Благодаря Qt Quick стала возможной быстрая разработка приложений для мобильных устройств, в то время как логика по-прежнему может быть написана с использованием собственного кода для достижения максимальной производительности.
Другие функции включают SQL доступ к базе данных, XML парсинг JSON парсинг нить управление и сетевая поддержка.
Релизы Qt
Последняя версия - Qt 5.15.0, выпущенная 26 мая 2020 года.[16]
Текущая версия LTS - Qt 5.15 LTS. Поддерживаться будет 3 года.
Также Qt 5.12 - это версия LTS[17] Актуальная версия - 5.12.10.
Первоначальный выпуск программного обеспечения Qt состоялся 20 мая 1995 года.
Qt в использовании
В 2017 году компания Qt оценила сообщество примерно в 1 миллион разработчиков по всему миру.[18] в более чем 70 отраслях.[19]
Настольные интерфейсы
Графические пользовательские интерфейсы и окружения рабочего стола которые используют Qt / QML в качестве инструментария виджетов:
- KDE Plasma, а свободный среда рабочего стола для различных вычислительных устройств[20]
- DDE (Глубоко в Среда рабочего стола) Linux Deepin[21][22]
- UKUI (Ubuntu Kylin Пользовательский интерфейс)[23]
- LXQt (Легкая среда рабочего стола X11)
- Люмина, среда рабочего стола, разработанная для TrueOS на базе BSD[24]
- Ломири (ранее Unity8 )[25], конвергентная среда рабочего стола, созданная Canonical, поддерживаемая Ubports[26]
- Единство 2D, оболочка рабочего стола, написанная на Qt и Qml
- Тринити DE, постоянно развивающийся форк на основе KDE3[27]
- NX-Desktop, оболочка рабочего стола на основе Plasma[28]
- Be-shell, простая оболочка на основе KDE Frameworks[29]
- Liquidshell, оболочка на основе QtWidgets[30]
- LiriOS, оболочка рабочей области, созданная с помощью Qt / QML[31]
- SDDM, диспетчер дисплея, который X11 и Wayland совместимы, написанные на QML
- theShell, оболочка рабочего стола, написанная на Qt[32]
Встроенные и мобильные интерфейсы
- Активно развивается или поддерживается
- AsteroidOS, операционная система с открытым исходным кодом, разработанная для умных часов.
- Авионика, развлекательная система Panasonic в полете[33][34]
- Ежевика 10, мобильная ОС с сенсорным экраном от Blackberry Ltd.
- ОС Sailfish, мобильная операционная система, разработанная Jolla
- GlacierUX, преемник MeeGo / Maemo 6 / Harmattan, основанный на Qt5 и Wayland[35]
- Plasma Mobile, сенсорный графический интерфейс, разработанный KDE
- LuneOS, управляемый сообществом преемник Palm / HP webOS
- Nemo Mobile, по мотивам Mer
- Ubuntu Touch, пользовательский интерфейс телефона, разработанный Ubports, первоначально Canonical
- Тесла Модель S пользовательский интерфейс в автомобиле[36]
- WebOS, многозадачная операционная система от LG для смарт-устройств, таких как телевизоры и умные часы.
- Sky Q, домашняя развлекательная система Sky plc[37]
- Доступен, но неактивен
Приложения, использующие Qt
Многие известные кросс-платформенные программы с открытым исходным кодом или проприетарные программы используют Qt или QML:
- 010 редактор, коммерческий шестнадцатеричный редактор и текстовый редактор для Microsoft Windows, Linux и macOS.
- Ableton Live
- Альбом Adobe Photoshop[39]
- Adobe Photoshop Elements[40]
- AMD Программное обеспечение Radeon Приложение для работы с драйверами Crimson Edition.[41]
- Autodesk Maya[42]
- Autodesk 3ds Max[43]
- Биткойн Ядро, биткойн-клиент
- Биткойн ABC, клиент Bitcoin Cash
- CryEngine V редактор[44]
- DaVinci Resolve, видеоредактор
- Дельфин (эмулятор), эмулятор для Nintendo Wii и Nintendo GameCube системы.
- Дорико программное обеспечение для записи
- Рамка дракона[45] ПО для покадровой анимации
- ОРЕЛ к CadSoft Компьютер / Autodesk, приложение EDA со схемой захвата, разводкой печатной платы, автоматическим маршрутизатором и функциями CAM
- Electrum, легкий биткойн-клиент
- FreeMat бесплатная среда численных вычислений с открытым исходным кодом
- Гамбас бесплатный открытый исходный код БАЗОВЫЙ интегрированная среда развития
- Гугл Земля[46]
- Игорь Профи, программное обеспечение для анализа данных
- Крита программное обеспечение для редактирования графики и цифровой живописи[47]
- LMMS, кроссплатформенное программное обеспечение для создания музыки
- Mathematica, математическая программа символьных вычислений, иногда называемая системой или программой компьютерной алгебры, используемая во многих научных, инженерных, математических и вычислительных областях.[48]
- Moonlight Stream, реализация Nvidia Shield с открытым исходным кодом[49]
- Музыкальное ядро, многоплатформенная программа для записи нотаций с открытым исходным кодом
- OBS, бесплатное кроссплатформенное программное обеспечение для создания скринкастов
- апельсин пакет интеллектуального анализа данных[50]
- qBittorrent кроссплатформенный бесплатный BitTorrent-клиент с открытым исходным кодом[51]
- QGIS географическая информационная система[52]
- Qtractor Многодорожечный аудиорекордер и программное обеспечение для редактирования
- QuiteRSS Читатель ленты
- Студия Роблокс инструмент для создания игр, используемый на платформе Roblox.
- Scribus программное обеспечение для настольных издательских систем[53]
- Сибелиус программное обеспечение для составления и нотной записи музыки[54]
- Источник 2 инструменты двигателя[55] движок 3D видеоигр, разработанный Клапан
- Стеллариум, программа планетария
- Подземный, программное обеспечение для регистрации и планирования погружений с аквалангом, первоначально разработанное Линусом Торвальдсом.[56]
- Суперколлайдер, среда и язык программирования для синтеза звука в реальном времени и алгоритмической композиции
- Teamviewer, компьютерный пакет программного обеспечения для удаленного управления, совместного использования рабочего стола, онлайн-встреч, веб-конференций и передачи файлов между компьютерами[57]
- Телеграмма, клиент обмена сообщениями, доступный для Windows, Mac и Linux[58]
- VirtualBox ПО для виртуализации ОС[59]
- Медиаплеер VLC[60]
- Wireshark, анализатор пакетов[61]
- Офис WPS[62]
- XaoS, фрактальный зуммер в реальном времени
- XnView MP[63]
Организации, использующие Qt
Qt используется многими компаниями и организациями, такими как
- AMD[64]
- Blizzard Entertainment[65]
- BMW[66]
- Crytek[67]
- Daimler AG[68][69]
- Electronic Arts[70]
- Европейское космическое агентство[71]
- DreamWorks[72][73]
- Danaher Corporation[нужна цитата ]
- GE Aviation[нужна цитата ]
- Huawei[нужна цитата ]
- Джон Дир[нужна цитата ]
- LG[74]
- Лукасфильм[75][76]
- Люксофт[нужна цитата ]
- MathWorks (Simulink)[нужна цитата ]
- Microsoft[77]
- Panasonic[78]
- Philips[79]
- Роберт Бош ГмбХ[80]
- Samsung[81]
- Сименс[82]
- Тесла[83]
- Tomtom[84]
- Мультяшный бум Анимация[нужна цитата ]
- Вольво[85]
- Немецкая авиадиспетчерская служба[86]
- HP[87]
- Анимационные студии Уолта Диснея[88]
- Клапан[89]
Архитектура программного обеспечения Qt
Концепции Qt
Qt построен на следующих ключевых концепциях:
- Полная абстракция графического интерфейса
- При первом выпуске Qt использовала свой собственный движок рисования и элементы управления, имитируя внешний вид различных платформ, на которых он работает, когда он рисовал свои виджеты. Это облегчило работу по переносу, поскольку очень немногие классы в Qt действительно зависели от целевой платформы; однако это иногда приводило к небольшим расхождениям там, где эмуляция была несовершенной. Последние версии Qt используют API-интерфейсы в собственном стиле для различных платформ на платформах, которые имеют набор встроенных виджетов, для запроса метрик и отрисовки большинства элементов управления, и не так часто страдают от таких проблем.[90] На некоторых платформах (например, MeeGo и KDE) Qt является собственный API. Некоторые другие портативные графические инструменты приняли другие дизайнерские решения; Например, wxWidgets использует инструментарий целевой платформы для своей реализации.
- Сигналы и слоты
- Конструкция языка, представленная в Qt для связи между объектами[91] что позволяет легко реализовать образец наблюдателя избегая шаблонный код. Концепция заключается в том, что графический интерфейс виджеты может отправлять сигналы, содержащие информацию о событиях, которые могут быть получены другими элементами управления с помощью специальных функций, известных как слоты.
- Метаобъект компилятор
- В метаобъект компилятор, называемый мок, это инструмент, который запускается из исходных текстов программы Qt. Он интерпретирует определенные макросы из кода C ++ как аннотации и использует их для сгенерировать добавленный код C ++ с метаинформацией о классах, используемых в программе. Эта метаинформация используется Qt для предоставлять функции программирования, недоступные изначально в C ++: сигналы и слоты, самоанализ и асинхронные вызовы функций.
- Языковые привязки
- Qt можно использовать в нескольких языки программирования кроме C ++, например Python, Javascript, C # и Rust[92] через языковые привязки; на многих языках есть привязки для Qt 5 и привязки для Qt 4. Язык программирования Ring включает Qt в стандартную библиотеку.[93][94]
Модули Qt
Начиная с Qt 4.0 фреймворк был разделен на отдельные модули.[95][96] В Qt 5.0 архитектура была еще больше модульной.[97][98] Qt теперь разделен на существенный и добавить модули.[99]
Qt Essentials
Модуль | Описание |
---|---|
Qt Core | Единственный необходимый модуль Qt, содержащий классы, используемые другими модулями, включая мета-объектную систему, параллелизм и многопоточность, контейнеры, систему событий, плагины и средства ввода-вывода. |
Qt GUI | Центральный модуль GUI. В Qt 5 этот модуль теперь зависит от OpenGL, но больше не содержит классов виджетов. |
Виджеты Qt | Содержит классы для классических приложений с графическим интерфейсом на основе виджетов и классы QSceneGraph. Был отделен от QtGui в Qt 5. |
Qt QML | Модуль для QML и JavaScript языков. |
Qt Quick | Модуль для приложения с графическим интерфейсом, написанный с использованием QML2. |
Qt Quick Controls | Виджет как элементы управления для Qt Quick предназначен в основном для настольных приложений. |
Qt Quick Layouts | Макеты для расстановки предметов в Qt Quick. |
Qt Сеть | Слой сетевой абстракции. В комплекте с TCP, UDP, HTTP, SSL а так как Qt 5.3 SPDY поддерживать. |
Qt Multimedia | Классы аудио, видео, радио и камеры. |
Мультимедийные виджеты Qt | Виджеты из Qt Multimedia. |
Qt SQL | Содержит классы для интеграции с базой данных с использованием SQL. |
Qt WebEngine | Новый набор Qt Widget и QML webview API на основе Хром. |
Qt Test | Классы для модульного тестирования приложений и библиотек Qt. |
Дополнения Qt
Модуль | Описание |
---|---|
Активный Qt | Классы для приложений, использующих ActiveX. |
Qt Bluetooth | Доступ к классам Bluetooth аппаратное обеспечение. |
Qt D-Bus | Занятия по IPC с использованием D-автобус протокол. |
Qt NFC | Доступ к классам NFC аппаратное обеспечение. Пока официально поддерживается только на оборудовании BlackBerry (или N9 в порте MeeGo). |
Qt OpenGL | Устаревший модуль, содержащий OpenGL классы из Qt 4. В Qt 5 аналогичная функциональность в Qt GUI Рекомендовано. |
Местоположение Qt | Классы для доступа GPS и другие службы определения местоположения, а также для картографии и навигации. Отделение от модуля Qt 4 Mobility из Местоположение Qt. Поддерживается на Android, BlackBerry, iOS, Linux (с использованием GeoClue ), Windows и ОС Sailfish. |
Qt Script | Устаревший модуль для написания сценариев приложения Qt с использованием ECMAScript /JavaScript. В Qt 5, используя аналогичные классы в Qt QML Рекомендовано. |
Датчики Qt | Классы для доступа к различным датчикам мобильного оборудования. Раньше входил в состав Qt Mobile в Qt 4. Поддерживается на Android, BlackBerry, iOS, WinRT, Mer и Linux. |
Последовательный порт Qt | Классы для доступа к оборудованию и виртуальным последовательным портам. Поддерживается в Windows, Linux и macOS. |
Qt WebChannel | Предоставляет доступ к объектам Qt в HTML / Js поверх WebSockets. |
Qt WebKit | Qt's WebKit реализация и API. |
Виджеты Qt WebKit | API виджетов для Qt WebKit |
Qt WebSockets | Обеспечивает WebSocket выполнение. |
Qt XML | Устаревший модуль, содержащий классы для SAX и ДОМ стиль XML API. Заменено классами QXmlStreamReader и QXmlStreamWriter в Qt Core. |
Qt XML-шаблоны | Поддержка для XPath, XQuery, XSLT и Схема XML Проверка. |
Редакции
Доступны четыре версии Qt: Сообщество, Инди-мобайл, Профессиональный и Предприятие.[100] Версия Community находится под лицензиями с открытым исходным кодом, а версии Indie Mobile, Professional и Enterprise, которые содержат дополнительные функции и библиотеки, например Управление предприятием[100] коммерчески продаются компанией Qt.
Поддерживаемые платформы
Qt работает на многих разных платформах; официально поддерживаются:
Платформа | Описание |
---|---|
Linux / Unix | |
X11 | Qt для X Window System (Linux );[101] FreeBSD, NetBSD, OpenBSD, и DragonFly BSD есть поддержка сообщества. |
Wayland | Qt для Wayland (например. SailfishOS использует это, поскольку у него нет X11).[102] Приложения Qt могут переключаться между графическими серверами, такими как X и Wayland, в время загрузки с параметром командной строки -platform.[103][104] Это обеспечивает плавный переход приложений Qt с X11 на Wayland. |
Android | Qt для Android[105] (ранее известный как Necessitas).[106] |
Встроенный Linux | Qt для встраиваемых платформ: персональный цифровой помощник, смартфон, так далее.[107] Существует несколько платформ в зависимости от технологии отображения. DirectFB, LinuxFB и EGLFS (EGL Полноэкранный). |
Платформы Microsoft | |
Windows | Qt для Microsoft Windows 7,[108] 8 и 10[109] |
Windows RT | Поддержка для WinRT -основан Windows 10 Mobile приложения и Windows 10 IoT[110] |
Платформы Apple | |
macOS | Qt для Apple macOS; поддерживает приложения на Какао[111] |
iOS | Qt для iOS платформы (iPhone, iPad )[112] |
Другие встраиваемые платформы | |
Честность | Qt для Честность[113] |
QNX | Qt для QNX[114][115] |
VxWorks | Qt для VxWorks.[116][117] Доступно только под проприетарный (коммерческая) лицензия. Qt 5.5. |
После того, как Nokia открыла исходный код Qt сообществу на Великолепный появились разные порты. Есть также некоторые порты Qt, которые могут быть доступны, но больше не поддерживаются. Эти платформы перечислены в Список платформ, поддерживаемых Qt. См. Также там информацию о текущей поддержке сообществом других менее известных платформ, таких как SailfishOS.
Лицензирование
Qt доступен под следующими лицензиями бесплатного программного обеспечения:[13] GPL 2.0, GPL 3.0, LGPL 3.0 и LGPL 2.1 (за исключением Qt).[5][118] Обратите внимание, что некоторые модули доступны только по лицензии GPL, что означает, что приложения, которые статически связаны с этими модулями, должны соответствовать этой лицензии.[119][120]
Кроме того, Qt всегда был доступен по коммерческой лицензии, такой как коммерческая лицензия Qt,[4] что позволяет разрабатывать проприетарные приложения без ограничений по лицензированию.
Инструменты Qt
Qt поставляется со своим собственным набором инструментов для облегчения кроссплатформенной разработки, который в противном случае может быть громоздким из-за другого набора инструментов разработки.
Qt Creator кроссплатформенный IDE для C ++ и QML. Qt Designer с GUI Функциональность компоновки / дизайна интегрирована в IDE, хотя Qt Designer все еще можно запустить как автономный инструмент.
В дополнение к Qt Creator, Qt предоставляет qmake, кроссплатформенный инструмент для создания скриптов сборки который автоматизирует создание файлов Makefile для проектов разработки на разных платформах. В Qt доступны другие инструменты, в том числе построитель интерфейса Qt Designer и справочный браузер Qt Assistant (оба встроены в Qt Creator), инструмент перевода Qt Linguist, uic (компилятор пользовательского интерфейса) и moc (компилятор метаобъектов).
История Qt
Ранние разработки
Летом 1990 года Хаавард Норд и Эйрик Чамбе-Энг (первоначальные разработчики Qt и генеральный директор и президент, соответственно, Троллтех ) вместе работали над приложением базы данных для ультразвуковых изображений, написанным на C ++ и запущенным на Mac OS, Unix, и Майкрософт Виндоус.[1][121] Они начали разработку Qt в 1991 году, за три года до того, как компания была зарегистрирована как Quasar Technologies, затем изменили название на Troll Tech, а затем на Trolltech.[1]
Набор инструментов был назван Qt, потому что буква Q выглядело привлекательно в Хааварде Emacs шрифт, а буква "t" была вдохновлена Xt, инструментарий X.[1]
Первые две версии Qt имели только две разновидности: Qt / X11 для Unix и Qt / Windows для Windows.
20 мая 1995 года компания Troll Tech публично выпустила Qt 0.90 для X11 / Linux с исходный код под Лицензия Qt Free Edition.[122][123][124] Эта лицензия была сочтена не соответствующей определению бесплатного программного обеспечения Фонд свободного программного обеспечения потому что, хотя исходный код был доступен, он не позволял распространять измененные версии. Trolltech использовал эту лицензию до версии 1.45. Споры разгорелись примерно в 1998 году, когда стало ясно, что K Desktop Environment собирался стать одной из ведущих настольных сред для Linux. Поскольку он был основан на Qt, многие люди в движение за свободное программное обеспечение опасались, что существенная часть одной из их основных операционных систем будет проприетарной.
Платформа Windows была доступна только по проприетарной лицензии, что означало, что бесплатные приложения с открытым исходным кодом, написанные на Qt для X11, нельзя было перенести на Windows без приобретения проприетарной версии.
Стать дружественным к свободным программам
С выпуском версии 2.0 инструментария лицензия была изменена на Q Public License (QPL), а бесплатно программное обеспечение лицензия, но одна рассматривается Фонд свободного программного обеспечения как несовместимое с GPL. Между KDE и Trolltech искали компромиссы, согласно которым Qt не сможет подпадать под более ограничительную лицензию, чем QPL, даже если Trolltech будет выкуплен или обанкротится. Это привело к созданию KDE Free Qt Foundation,[125] что гарантирует, что Qt попадет под Лицензия в стиле BSD не должна быть выпущена бесплатная версия Qt с открытым исходным кодом в течение 12 месяцев.[126][127]
В 2000 году Qt / X11 2.2 был выпущен под лицензией GPL v2,[128] прекращение всех споров относительно Совместимость с GPL.
В конце 2001 года Trolltech выпустила Qt 3.0, в котором была добавлена поддержка Mac OS X (теперь известная как macOS ). Поддержка Mac OS X была доступна только по частной лицензии до июня 2003 года, когда Trolltech выпустил Qt 3.2 с поддержкой Mac OS X, доступной по GPL.
В 2002 году члены KDE на Cygwin Проект начал перенос лицензированной GPL базы кода Qt / X11 на Windows.[129] Это произошло в ответ на отказ Trolltech лицензировать Qt / Windows под GPL на том основании, что Windows не является платформой с открытым исходным кодом.[130][131] Проект достиг разумного успеха, хотя так и не достиг качества производства.
Это было решено, когда Trolltech выпустил Qt 4.0 также для Windows под лицензией GPL в июне 2005 года.[132] Qt 4 поддерживает тот же набор платформ в выпусках бесплатного программного обеспечения / с открытым исходным кодом, что и в проприетарной версии, поэтому с Qt 4.0 и более поздними выпусками можно создавать бесплатные приложения с открытым исходным кодом под лицензией GPL с использованием Qt на всех поддерживаемых платформах. . GPL v3 с особым исключением[133] позже был добавлен как дополнительный вариант лицензирования. Исключение GPL позволяет лицензировать окончательное приложение под различными несовместимыми с GPL бесплатно программное обеспечение /Открытый исходный код лицензии, такие как Общественная лицензия Mozilla 1.1.
Приобретение Nokia
Nokia приобрела Trolltech ASA 17 июня 2008 года и сменила название сначала на Qt Software, а затем на Qt Development Frameworks.
Nokia сфокусировалась на превращении Qt в основную платформу разработки для своих устройств, включая перенос на Symbian Платформа S60. Версия 1.0 Nokia Qt SDK была выпущена 23 июня 2010 года.[134] Исходный код был доступен через Gitorious, ориентированный на сообщество мерзавец репозиторий исходного кода с целью создания более широкого сообщества, использующего и улучшающего Qt.
14 января 2009 г. в Qt версии 4.5 была добавлена еще одна опция: LGPL,[135] сделать Qt более привлекательным как для проектов с открытым исходным кодом без GPL, так и для закрытых приложений.[136]
В феврале 2011 года Nokia объявила о своем решении отказаться от технологий Symbian и основывать свои будущие смартфоны на телефон с операционной системой Виндоус платформа вместо этого (и с тех пор поддержка этой платформы также была прекращена).[137] Месяц спустя Nokia объявила о продаже коммерческих лицензий и профессиональных услуг Qt компании Digia с ближайшей целью обеспечить поддержку Qt для Android, iOS и Windows 8 платформ, и продолжать уделять внимание разработке настольных систем и встраиваемых систем, хотя Nokia в то время должна была оставаться основной силой разработки, стоявшей за рамками.
Слияние и разделение с Digia
В марте 2011 года Nokia продала коммерческую лицензионную часть Qt компании Digia создание Qt Commercial.[138] В августе 2012 года Digia объявила о приобретении Qt у Nokia.[139] Команда Qt в Digia начала свою работу в сентябре 2012 года.[140] Они выпустили Qt 5.0 в течение месяца и более новые версии каждые 6 месяцев с новыми функциями и дополнительными поддерживаемыми платформами.
В сентябре 2014 года Digia передала бизнес и авторские права Qt своей стопроцентной дочерней компании The Qt Company, которая владеет 25 брендами.[141] связанные с Qt. В мае 2016 года Digia и Qt полностью разделились на две независимые компании.[142]
Проект Qt и открытое управление
Qt 5 был официально выпущен 19 декабря 2012 года. Эта новая версия ознаменовала собой серьезное изменение в платформе с аппаратным ускорением графики, QML и JavaScript играет главную роль. Традиционные C ++ - только QWidgets продолжали поддерживаться, но не получали преимуществ от улучшений производительности, доступных благодаря новой архитектуре.[143] Qt 5 значительно улучшает скорость и упрощает разработку пользовательских интерфейсов.[144]
Разработка фреймворка Qt 5 перешла на открытое управление на qt-project.org, что дало возможность разработчикам за пределами Digia отправлять исправления на рассмотрение.[145]
Соавторы Qt
Помимо компании Qt, многие организации и частные лица, использующие Qt в качестве платформы разработки, участвуют в открытой разработке Qt через проект Qt.[146]
Одним из таких разработчиков Qt является Klarälvdalens Datakonsult AB, шведская консалтинговая компания Qt.[147] KDAB участвует во многих областях, включая обслуживание нескольких компонентов.[148][149]
Вместе с RIM / BlackBerry, KDAB поддерживает QNX и BlackBerry 10 порты Qt.[146][150]
Другой участник Intel, способствуя, например, Wayland поддерживать.[151] Аудиокоды поддерживает IBM ClearCase поддержка в Qt Creator.[152]
Как активный пользователь Qt, KDE проект предоставляет множество исправлений и функций из своей библиотеки разработчика Фреймворки KDE вернуться к Qt.[153]
Смотрите также
- Список наборов инструментов для виджетов
- Разработка программного обеспечения для Android
- iOS SDK
- Wt (веб-инструментарий)
Библиография
Qt Wiki предоставляет исчерпывающий список английских книг по Qt.[154] Это список известных книг:
- Боклаге-Райаннель, Юрген; Телин, Йохан (12 мая 2015 г.). "Qt 5 Cadaques" (1-е изд.).
- Бланшетт, Жасмин; Саммерфилд, Марк (14 февраля 2008 г.). Программирование графического интерфейса на C ++ с помощью Qt 4 (2-е изд.). Prentice Hall. ISBN 978-0-13-235416-5.
- Саммерфилд, Марк (23 августа 2010 г.). Расширенное программирование на Qt: создание отличного программного обеспечения с помощью C ++ и Qt 4 (1-е изд.). Эддисон-Уэсли. ISBN 978-0-321-63590-7.
- Фитцек, Франк Х. П .; Микконен, Томми; Торп, Тони (17 мая 2010 г.). Qt для Symbian (1-е изд.). Wiley. ISBN 978-0-470-75010-0. Архивировано из оригинал 19 декабря 2009 г.
- Саммерфилд, Марк (28 октября 2007 г.). Быстрое программирование графического интерфейса с помощью Python и Qt (1-е изд.). Prentice Hall. ISBN 978-0-13-235418-9.
- Молькентин, Даниэль (19 июля 2007 г.). Книга Qt 4: Искусство создания приложений Qt (1-е изд.). Пресс без крахмала. ISBN 978-1-59327-147-3.
- Телин, Йохан (3 августа 2007 г.). Основы разработки Qt (1-е изд.). Apress. ISBN 978-1-59059-831-3. Архивировано из оригинал 20 января 2015 г.. Получено 18 июн 2015.
- Дальхаймер, Матиас (январь 2002 г.). Программирование с Qt (2-е изд.). O'Reilly Media. ISBN 978-0-596-00064-6.
- Эзуст, Алан; Эзуст, Пол (10 сентября 2006 г.). Введение в шаблоны проектирования на C ++ с Qt 4 (2-е изд.). Prentice Hall. ISBN 978-0-13-187905-8.
Рекомендации
- ^ а б c d е Бланшетт, Жасмин; Саммерфилд, Марк (июнь 2006 г.). "Краткая история Qt". Программирование графического интерфейса на C ++ с помощью Qt 4 (1-е изд.). Prentice-Hall. С. xv – xvii. Архивировано из оригинал 1 октября 2020 г.. Получено 5 августа 2013.
- ^ Турунен, Туукка (20 ноября 2020 г.). "Выпущен Qt 5.15.2". Блог Qt. Компания Qt. Получено 20 ноября 2020.
- ^ «Поддерживаемые платформы».
- ^ а б c «Лицензии».
- ^ а б c «Новое соглашение с KDE Free Qt Foundation и изменения для версии с открытым исходным кодом». Компания Qt.
- ^ а б "Добавление LGPL v3 в Qt". 20 августа 2014 г.
- ^ «Qt - О нас». Архивировано из оригинал 22 февраля 2017 г.
- ^ "Этот смартфон так Qt". Эшли Вэнс. 16 февраля 2010 г.. Получено 19 февраля 2010.
- ^ "Танец Qt 4" (видео). Получено 7 сентября 2015.
- ^ Пинчер, Лидия (21 октября 2011 г.). «KDE приветствует переход Qt к открытому управлению». KDE.News. Получено 8 мая 2013.
- ^ Мейер, Дэвид (24 октября 2011 г.). «Nokia предоставляет Qt управление с открытым исходным кодом». ZDNet. Получено 8 мая 2013.
- ^ Кнолль, Ларс (6 августа 2014 г.). «Дефрагментация Qt и объединение нашей экосистемы».
- ^ а б Компания, The Qt. "Юридические - FAQ - Qt". www.qt.io. Получено 25 апреля 2019.
- ^ "Cutelyst - Home".
- ^ «PHP-Qt - расширение Qt для php». www.php-qt.org. 10 октября 2020. В архиве из оригинала 10 октября 2020 г.. Получено 12 октября 2020.
- ^ Кнолль, Ларс (26 мая 2020 г.). "Выпуск Qt 5.15". Qt Wiki. Компания Qt. Получено 9 августа 2020.
- ^ Леппяля, Киммо (7 июня 2017 г.). «Обновленные службы поддержки Qt». Qt Project. Получено 8 июн 2017.
- ^ «QT GROUP OYJ - Операции менеджеров, 04.12.2017». 12 апреля 2017 г.. Получено 8 июн 2017.
- ^ Шнеор, Ротем (2012). Справочник по исследованиям зародившихся глобалов, Глава 10: Родившиеся глобальные фирмы, Интернет и новые формы интернационализации. ISBN 9780857938046. Получено 8 июн 2017.
- ^ «Платформа разработки KDE».
- ^ Мариус Нестор (24 декабря 2015 г.). "Прекрасно созданная ОС Linux Deepin 15 убирает Ubuntu для Debian Sid, RC Out Now".
Среда рабочего стола Deepin была переработана в последнем наборе инструментов Qt GUI, заменив фреймворки HTML5 и WebKit, в то время как Go по-прежнему используется в качестве серверной части.
- ^ "深度 操作系统 15 RC —— 用 真心 捕获 你 的 芳心 - 深度 科技 社区". Deepin.org. 23 декабря 2015 г.. Получено 15 июн 2017.
- ^ Джои Снеддон. "Wowser, рабочий стол UKUI 3.0 выглядит феноменально (обновлено)". омг! убунту!.
- ^ "Домашняя страница Lumina".
- ^ "Ломири: Новое имя, То же Великое Единство8". ubports.com.
- ^ "Репозиторий кода Unity8 на Github". Github.com.
- ^ "О Троице". www.trinitydesktop.org. Получено 25 апреля 2019.
- ^ «NX Desktop». GitHub. Получено 25 апреля 2019.
- ^ "BE :: Shell / Wiki / Главная". sourceforge.net. Получено 25 апреля 2019.
- ^ "Liquidshell: предстоящая замена Plasma в KDE с меньшими ресурсами". Форум Manjaro Linux. 10 ноября 2017 г.. Получено 25 апреля 2019.
- ^ «Оболочка LiriOS на Github».
- ^ "GitHub - vicr123 / theshell: оболочка рабочего стола, написанная на Qt". 23 апреля 2019 г.. Получено 25 апреля 2019 - через GitHub.
- ^ «Графический интерфейс пользователя на основе Qt серии X». Архивировано из оригинал 23 февраля 2016 г.. Получено 14 марта 2016.
- ^ "Авионика на базе Qt".
- ^ «Следующий интерфейс для Nemo Mobile».
- ^ "Интерфейс Qt".
- ^ «Sky объединяется с компанией QT на Sky Q».
- ^ «Ultrahaptics - замечательная связь с технологиями». Ультрагаптика. Получено 15 июн 2017.
- ^ Бланшетт, Жасмин; Саммерфилд, Марк (4 февраля 2008 г.). Программирование графического интерфейса пользователя на C ++ с помощью Qt4 Жасмин Бланшетт, Марк Саммерфилд. ISBN 9780132703000.
- ^ Зерфос, Петрос; Монтанари, Ребекка; Фан, Томас (11 мая 2010 г.). Мобильные вычисления, приложения и услуги: Первая международная конференция ICST, MobiCASE 2009, Сан-Диего, Калифорния, США, 26-29 октября 2009 г., Отредактированные избранные статьи, под редакцией Петроса Зерфоса, Ребекки Монтанари, Томаса Фана. ISBN 9783642126062.
- ^ Уолтон, Марк (2 ноября 2015 г.). «AMD Radeon Software Crimson: новое имя и новый взгляд на Catalyst».
- ^ «Qt в Autodesk». Архивировано из оригинал 23 июля 2011 г.
- ^ «Что нового: 3ds Max 2018 SDK». help.autodesk.com. Получено 14 июн 2019.
3ds Max 2018 теперь использует Qt 5.6.2, а надстройки могут создавать пользовательские интерфейсы в Qt с использованием стандартного дистрибутива GPL Qt 5.6.2 и надстройки Visual Studio 2015 Qt.
- ^ «Обновление нашего интерфейса песочницы и старого редактора».
- ^ "Даями Калири, Чемпион Qt 2014".
- ^ "Google Планета Земля включает веб-браузер". Googlesystem.Blogspot.de. 15 июня 2010 г.. Получено 8 апреля 2013.
- ^ «Выпущена Krita 3.0». 31 мая 2016. Получено 5 сентября 2017.
- ^ "Mathematica от Wolfram Research". Архивировано 29 мая 2013 года.CS1 maint: BOT: статус исходного URL-адреса неизвестен (связь)
- ^ https://moonlight-stream.org/
- ^ "Orange3 Data Mining Suite".
- ^ «Qbittorrent».
- ^ «Поваренная книга разработчика PyQGIS: Введение». qgis.org. Получено 1 марта 2017.
весь код QGIS зависит от библиотек Qt
- ^ "Scribus Development".
- ^ «Sibelius - ведущая программа для создания музыки и нот». www.sibelius.com. Получено 19 октября 2016.
- ^ "Панорама - Сообщество разработчиков Valve". Получено 28 апреля 2017.
- ^ «Выпущена Subsurface 4.0». 15 декабря 2013 г.
- ^ «TeamViewer 13».
- ^ "Приложение для обмена сообщениями на рабочем столе Telegram".
- ^ "VBoxMainLogging - Oracle VM VirtualBox".
- ^ "Интерфейс Qt".
- ^ "Qt Application Framework".
- ^ wps-community (14 июня 2017 г.). "wps_i18n: Поддержка интернационализации KSO / WPS". Получено 15 июн 2017 - через GitHub.
- ^ «XnView MP».
- ^ «AMD Radeon Software Crimson Edition». Получено 30 июн 2016.
- ^ "Дополнения / модификации Blizzard к Qt".
- ^ QtWS16- Qt Creator как BMW Car IT Automotive IDE, Хелио Киссини де Кастро, BMW Car IT.
- ^ «Обновление нашего интерфейса песочницы и старого редактора».
- ^ «Qt выбран для автомобильных информационно-развлекательных систем (IVI) ведущими автопроизводителями» (Пресс-релиз).
- ^ Создан на Qt: Mercedes-Benz Generation EQ.
- ^ «Открытый исходный код - Electronic Arts».
- ^ "Qt в Европейском космическом агентстве". Архивировано из оригинал 23 июля 2011 г.
- ^ За кулисами DreamWorks Animation: создание приложений для создания фильмов.
- ^ Проблемы проектирования пользовательского интерфейса и системы для NxG Lighting Tool.
- ^ Портер, Джон (26 июня 2019 г.). «LG пытается внедрить WebOS в автомобили, роботов и умный дом с новым партнерством». Грани. Получено 28 апреля 2020.
- ^ "Лукасфильм Энтертейнмент Компани Лтд".
- ^ «Qt в визуальных эффектах». Архивировано из оригинал 23 июля 2011 г.
- ^ "Обсуждение Qt World Summit".
- ^ «Panasonic выбирает Qt для видеосистемы HD». Архивировано из оригинал 23 июля 2011 г.
- ^ «Qt в IP-коммуникациях». Архивировано из оригинал 23 июля 2011 г.
- ^ "Bosch DruckMessWT построен на Qt". Январь 2019.
- ^ "Qt в домашнем медиа". Архивировано из оригинал 23 июля 2011 г.
- ^ «Qt помогла Siemens предоставить платформу разработки C ++ для производства графических интерфейсов программного обеспечения». Архивировано из оригинал 14 июля 2011 г.
- ^ Фред Ламберт (19 мая 2018 г.). «Tesla выпускает часть своего программного обеспечения в соответствии с лицензиями с открытым исходным кодом».
- ^ «TomTom создает автомобильные HMI с помощью Qt». Получено 20 мая 2019.
- ^ «Volvo Mobility Systems». Архивировано из оригинал 14 июля 2011 г.
- ^ «10 вариантов использования Qt, о которых вы не знали». Архивировано из оригинал 30 июля 2013 г.
- ^ «Разработка инновационных продуктов HP для настольных ПК и встраиваемых систем с использованием Qt». Архивировано из оригинал 6 мая 2014 г.
- ^ «Qt помог Walt Disney сократить время разработки кроссплатформенного приложения для производства художественных фильмов». Архивировано из оригинал 14 июля 2011 г.
- ^ «Qt - Сообщество разработчиков Valve». Получено 28 апреля 2017.
- ^ "Библиотека". Digia. Архивировано из оригинал 1 ноября 2013 г.
Qt использует собственные графические API-интерфейсы каждой поддерживаемой платформы, в полной мере используя системные ресурсы и обеспечивая собственный внешний вид приложений.
- ^ «Сигналы и слоты - QtCore 5.1». Qt Project. 4 июля 2013 г.. Получено 10 апреля 2015.
- ^ «Приложения Qt с Cargo». www.vandenoever.info. 30 октября 2018 г.. Получено 25 апреля 2019.
- ^ Программирование на начальном уровне - от новичка к профессионалу | Мансур Аюни | Apress.
- ^ «Разработка настольных компьютеров, WebAssembly и мобильных устройств с использованием RingQt - документация Ring 1.13». ring-lang.github.io. Получено 8 августа 2020.
- ^ "Trolltech выпускает Qt 4.0". KDE. 28 июня 2005 г.. Получено 5 августа 2013.
- ^ «Все модули | Документация». Qt Project. Архивировано из оригинал 29 марта 2013 г.. Получено 8 апреля 2013.
- ^ Блог Qt (19 декабря 2012 г.). "Представляем Qt 5.0 | Блог Qt". Digia. Получено 8 апреля 2013.
- ^ Кайл Моррис (24 декабря 2012 г.). «Qt 5.0 - Поздравления с проектом Qt». KDE. Получено 5 августа 2013.
- ^ «QtDoc 5.1: Все модули». Qt Project. Получено 8 апреля 2013.
- ^ а б "Страница загрузки Qt". Скачать Qt. Компания Qt. Получено 21 ноября 2014.
- ^ «Qt Wiki - Поддержка Linux / X11». Qt Project. 24 марта 2016 г.. Получено 27 июля 2019.
- ^ Линд, Йорген (18 марта 2011 г.). «Многопроцессорный маяк». Qt Project. Получено 21 августа 2013.
- ^ «Начало работы с Lighthouse». Получено 25 ноября 2011.
- ^ Хегсберг, Кристиан (25 января 2011 г.). "Добавить плагин Wayland Lighthouse". Архивировано из оригинал 3 февраля 2016 г.
- ^ «Новые функции в Qt 5.1 - Поддержка новых платформ». Digia. 3 июля 2013 г.. Получено 10 апреля 2015.
- ^ «Проект Necessitas». Архивировано из оригинал 20 февраля 2016 г.. Получено 10 апреля 2015.
- ^ «Qt Wiki - Поддержка встроенного Linux». Qt Project. 12 августа 2011 г.. Получено 10 апреля 2015.
- ^ «Qt Wiki - Поддержка Windows». Qt Project. 11 августа 2011 г.. Получено 11 августа 2013.
- ^ «Поддержка Windows 10 в Qt». Компания Qt. 29 апреля 2015 г.. Получено 28 января 2016.
- ^ «Qt для WinRT». Qt Project. Получено 9 сентября 2014.
- ^ «Qt Wiki - Поддержка OS X». Qt Project. 14 августа 2011 г.. Получено 21 августа 2013.
- ^ «Поддерживаемые платформы». Получено 1 февраля 2014.
- ^ "Страницы продуктов Qt, Поддерживаемые платформы". Qt - Продукт - Qt Framework. Компания Qt. Получено 21 ноября 2014.
- ^ Кэтрин Барриос (29 ноября 2011 г.). "Qt Commercial официально поддерживает QNX | Блог Qt". Получено 13 марта 2018.
- ^ "Примечания к платформе и компилятору - QNX | Qt 5.10".
- ^ Туукка Турунен (28 июня 2012 г.). "Qt Commercial для VxWorks | Блог Qt". Получено 13 марта 2018.
- ^ "Qt для VxWorks | Qt 5.10".
- ^ "Исключение Digia Qt LGPL версии 1.1".
- ^ "Лицензирование Qt". Компания Qt. Получено 7 января 2017.
- ^ «Обязательства LGPL». Компания Qt. Получено 7 января 2017.
В случае статического связывания библиотеки само приложение может больше не быть «работой, использующей библиотеку» и, таким образом, стать предметом LGPL. Рекомендуется либо связать динамически, либо предоставить пользователю исходный код приложения под LGPL.
- ^ «Qt - Qt20». Qt.
- ^ "Лицензия Qt Free Edition". Троллтех. 1992. Архивировано с оригинал 14 октября 2016 г.. Получено 14 октября 2016.
- ^ "С 20-летием, Qt!". Блог Qt.
- ^ «Qt framework отмечает свое 20-летие». SD Times.
- ^ «Фонд KDE Free Qt Foundation».
- ^ "Объявление о KDE Free Qt Foundation". Июнь 1998 г.
- ^ «Лицензионное соглашение по программному обеспечению» (PDF). Digia. 13 апреля 2013 г.
- ^ «Trolltech предлагает выбор в лицензировании с добавлением лицензирования GPL для предстоящего выпуска Qt». Qt.nokia.com. Архивировано из оригинал 13 марта 2012 г.. Получено 13 ноября 2011.
- ^ "Q ../ История выпуска Windows". 5 июня 2006 г. Архивировано с оригинал 31 июля 2010 г.
- ^ Электронная почта в список рассылки kde-cygwin Автор: Крис, 4 февраля 2003 г.
- ^ "Некоммерческий FAQ Qt". Троллтех. Архивировано из оригинал 5 октября 2003 г.
- ^ "Trolltech выпускает Qt 4.0 | KDE.news". KDE.News. Получено 13 ноября 2011.
- ^ "Nokia Corporation Qt GPL Exception Version 1.3". Doc.trolltech.com. 22 июля 1999 г. Архивировано с оригинал 3 октября 2010 г.. Получено 13 ноября 2011.
- ^ Вебер, Нильс (23 июня 2010 г.). «Выпущен Nokia Qt SDK 1.0». Labs.trolltech.com. Получено 13 ноября 2011.
- ^ Нистрем, Себастьян (14 января 2009 г.). "Nokia лицензирует Qt под LGPL". Получено 17 сентября 2013.
- ^ "Технический документ ICS о последствиях использования Qt в рамках LGPL для коммерческих и государственных пользователей" (PDF). Получено 13 ноября 2011.
- ^ «Nokia и Microsoft объявляют о планах широкого стратегического партнерства для создания новой глобальной мобильной экосистемы» (Пресс-релиз). Microsoft. 10 февраля 2011. Архивировано с оригинал 1 апреля 2011 г.. Получено 27 октября 2011.
- ^ Нистром, Себастьян (7 марта 2011 г.). «Nokia и Digia работают вместе над развитием сообщества Qt». Получено 8 июля 2011.
- ^ Digia Plc (9 августа 2012 г.). «Digia приобретает Qt у Nokia». Digia Plc. Получено 17 октября 2014.
- ^ Digia Plc (18 сентября 2012 г.). «Путешествие начинается сегодня». Digia Plc. Получено 17 октября 2014.
- ^ "Результаты поиска TMview показаны 12 сентября 2016 г.". TMDN.org. Получено 15 июн 2017.
- ^ «Digia и Qt разделились на две компании - раскрыты основные темы новой стратегии Digia». Digia. Получено 15 июн 2017.
- ^ «Обеспокоенность по поводу удаления классов QWidget». Qt5-обратная связь (Список рассылки). 7 октября 2011 г.
- ^ Кнолль, Ларс (9 мая 2011 г.). "Мысли о Qt 5". Digia. Получено 9 мая 2011.
- ^ Кнолль, Ларс (21 октября 2011 г.). "Проект Qt запущен!". Nokia. Получено 8 февраля 2012.
- ^ а б Масейра, Тьяго. "Статистика проекта Qt". Блог Тьяго Масейры. Macieira.org. Получено 8 мая 2013.
- ^ "вклад в Qt 5.0 (часть 1)". КДАБ. 20 декабря 2012 г.. Получено 8 мая 2013.
- ^ "вклад в Qt 5.0 (часть 2)". КДАБ. 21 декабря 2012 г.. Получено 8 мая 2013.
- ^ «Сопровождение Qt3D». КДАБ. 21 декабря 2012 г.. Получено 8 мая 2013.
- ^ «Qt5 в операционной системе QNX». KDAB. 19 апреля 2012 г.. Получено 8 мая 2013.
- ^ "[Phoronix] Qt теперь использует Wayland". Phoronix.com. 21 сентября 2010 г.. Получено 8 мая 2013.
- ^ "Сопровождающие | Qt Wiki". Qt Project. 12 апреля 2013 г.. Получено 8 мая 2013.
- ^ "Frameworks / Epics / Contributions to Qt5". Вики Сообщества KDE. Получено 27 апреля 2015.
- ^ "Книги - Qt Wiki". wiki.Qt.io. Получено 15 июн 2017.