Jump to content

Qt (software): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
 
Line 1: Line 1:
{{For|the company formerly known as Qt Software|The Qt Company}}
{{Confuse|QuickTime}}

{{Use dmy dates|date=April 2020}}
{{Infobox software
{{Infobox software
| name = Qt
| name = Qt (software)
| title = Qt
| logo = [[File:Qt-logo.svg|100px]]
| logo = Qt logo neon 2022.svg
| screenshot = [[File:Qt Designer 4 4 3.png|300px]]
| logo size = 150px
| caption = The Qt designer used for GUI designing
| screenshot = Qt Creator 4 13 2 HeartRateGame.png
| collapsible =
| collapsible = yes
| developer = Qt Project, [[Nokia]], [[Digia]], [[KDE]]
| caption = GUI designing in [[Qt Creator]] using the embedded Qt Designer on [[Windows 10]]
| released = {{Start date and age|1992}}
| author = Haavard Nord and Eirik Chambe-Eng<ref name="oreilly-qt" />
| latest_release_version = 4.7.4<ref>{{cite web |url=http://labs.qt.nokia.com/2011/09/01/qt-4-7-4-released/ |title=Qt 4.7.4 released |date=1 September 2011 |accessdate=2011-09-02 }}</ref>
| developer = {{unbulleted list|[[Trolltech]] (1991–2008)||[[Nokia]] (2008–2011)|[[Qt Project]] (2011–present)|Digia (2012–2014)||[[The Qt Company]] (2014–present)}}
| latest_release_date = {{Start date and age|2011|09|01}}
| released = {{Start date and age|df=yes|1995|05|20}}<ref name="oreilly-qt" />
| latest_preview_version = 4.8.0 RC1<ref>{{cite web |url=http://labs.qt.nokia.com/2011/10/13/qt-4-8-0-release-candidate-available/ |title=Qt 4.8.0 Release Candidate available |date=13 October 2011 |accessdate=2011-10-24 }}</ref>
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest_preview_date = {{Start date and age|2011|10|13}}
| latest release date = {{start date and age|{{wikidata|qualifier|P548=Q2804309|P348|P577}}}}
| programming language = [[C++]]
| programming language = [[C++]] ([[C++17]])
| operating system = [[Embedded Linux]], [[Mac OS X]], [[Microsoft Windows]], [[Linux]]/X11, [[Windows CE]], [[Symbian]], [[MeeGo]], [[Haiku (operating system)|Haiku]], [[Amiga OS]]
| operating system = [[Android (operating system)|Android]], [[iOS]], [[Linux]] ([[Linux on embedded systems|embedded]], [[Wayland (display server protocol)|Wayland]], [[X Window System|X11]]), [[macOS]], [[Microsoft Windows]], [[WebAssembly]], [[List of platforms supported by Qt|...]]<ref>{{cite web|url=https://doc.qt.io/qt-5/supported-platforms.html|title=Supported Platforms}}</ref><!-- In Infobox reference platforms only for brevity reasons. -->
| platform = [[Cross-platform]]
| platform = [[Cross-platform]]
| size =
| size =
| language =
| genre = [[Cross-platform software]] and [[Software development tools]]
| status = Active
| license = {{Plainlist|
| genre = [[Application framework]]
| license = [[GNU GPL]]<ref name="Qt GNU GPL v. 3.0 Version">{{cite web
* [[Qt Commercial License]]<ref name="Qt Commercial Licenses"/>
* [[GNU General Public License|GPL 2.0, 3.0]]<ref name="Qt Licensing 2016"/>
|url=http://qt.nokia.com/products/licensing/licensing#qt-gnu-gpl-v
* [[GNU Lesser General Public License|LGPL 3.0]]<ref name="Adding LGPLv3">{{cite web |url=https://blog.qt.io/blog/2014/08/20/adding-lgpl-v3-to-qt/ |title=Adding LGPL v3 to Qt |date=20 August 2014}}</ref>}}
|title=Qt GNU GPL v. 3.0 Version
| website = {{URL|https://www.qt.io}}
}}</ref> 3, with Qt special exception </br>[[GNU_LGPL|GNU Lesser General Public License (LGPL v2.1)]] (Qt open-source version) <ref name="Qt GNU LGPL v. 2.1 Version">{{cite web
|url=http://qt.nokia.com/products/licensing/licensing#qt-gnu-lgpl-v
|title=Qt GNU LGPL v. 2.1 Version}}</ref></br>[[Proprietary software|Qt Commercial License]] (Qt Commercial version)<ref name="Qt Commercial Developer License">{{cite web
|url=http://qt.nokia.com/products/licensing/licensing#qt-commercial-license
|title=Qt Commercial version under the Qt Commercial License
}}</ref>
| website = {{URL|http://qt.nokia.com/}}
}}
}}
{{Short description|Object-oriented framework for software development}}
'''Qt''' (pronounced officially as ''cute'' {{IPA-en|ˈkjuːt|}}, though often unofficially pronounced as ''Q.T.'' {{IPA-en|ˈkjuːˈtiː|}}<ref>{{cite web |url=http://bits.blogs.nytimes.com/2010/02/16/that-smartphone-is-so-qt/ |title=That Smartphone Is So Qt |date=16 February 2010 |work=Ashlee Vance|publisher=The New York Times |accessdate=2010-02-19 }}</ref><ref>{{cite web |url=http://video.google.com/videoplay?docid=-1435432529445611697 |title=The Qt 4 Dance |author= |date= |format=video |accessdate=2010-02-19 }}</ref>) is a [[cross-platform]] [[application framework]] that is widely used for developing [[application software]] with a [[graphical user interface|graphical user interface (GUI)]] (in which cases Qt is classified as a ''[[widget toolkit]]''), and also used for developing non-GUI programs such as [[command-line tool]]s and consoles for servers. Qt is most notably used in [[Autodesk]] [[Autodesk_Maya|Maya]],<ref>{{cite web
|url=http://qt.nokia.com/qt-in-use/autodesk/
|title= Qt in Autodesk
}}</ref><ref>{{cite web
|url=http://qt.nokia.com/qt-in-use/qt-in-visual-effects
|title= Qt in visual effects
}}</ref>, [[Adobe Photoshop Elements]], [[OPIE user interface|OPIE]], [[Skype]], [[VLC media player]],<ref>{{cite web |url=http://qt.nokia.com/qt-in-use/story/app/vlc-player/ |title= Qt in VideoLan Player}}</ref> [[VirtualBox]], and [[Mathematica]],<ref>{{cite web
|url=http://qt.nokia.com/qt-in-use/story/customer/mathematica-by-wolfram-research/
|title= Qt delivered advanced, cross-platform C++ GUI for Mathematica’s development team }}</ref> and by the [[European Space Agency]],<ref>{{cite web
|url=http://qt.nokia.com/qt-in-use/story/customer/esa-european-space-agency
|title= Qt in the European Space Agency
}}</ref> [[DreamWorks]],<ref>{{cite web
|url=http://qt.nokia.com/learning/online/talks/developerdays2010/keynotes/behind-the-scenes-at-dreamworks-animation-making-the-apps-that-make-the-movies/
|title= Behind the Scenes at DreamWorks Animation: Making the Apps that Make the Movies
}}</ref><ref>{{cite web
|url=http://developer.qt.nokia.com/videos/watch/ui_system_design_challenges_for_the_nxg_lighting_tool
|title= UI & System Design Challenges for the NxG Lighting Tool
}}</ref> [[Google]], [[Hewlett-Packard|HP]],<ref>{{cite web
|url=http://developer.qt.nokia.com/videos/watch/developing_innovative_desktop_and_embedded_hp_products_with_qt
|title= Developing Innovative Desktop and Embedded HP Products with Qt
}}</ref> [[KDE]]<ref>{{cite web|url=http://kde.org/developerplatform/ |title= The KDE development platform}}</ref>, [[Lucasfilm]],<ref>{{cite web
|url=http://qt.nokia.com/qt-in-use/story/app/lucasfilm-entertainment-company-ltd/
|title= Lucasfilm Entertainment Company Ltd.
}}</ref> [[Panasonic]],<ref>{{cite web
|url=http://qt.nokia.com/about/news/panasonic-selects-qt-for-hd-video-system
|title= Panasonic selects Qt for HD video system
}}</ref> [[Philips]],<ref>{{cite web
|url=http://qt.nokia.com/qt-in-use/qt-in-ip-communications
|title= Qt in IP Communications
}}</ref> [[Samsung]],<ref>{{cite web
|url=http://qt.nokia.com/qt-in-use/qt-in-home-media
|title= Qt in Home Media
}}</ref> [[Siemens]],<ref>{{cite web
|url=http://qt.nokia.com/qt-in-use/story/customer/siemens
|title= Qt helped Siemens deliver a C++ development platform for manufacturing software GUIs
}}</ref> [[Volvo]],<ref>{{cite web |url=http://qt.nokia.com/qt-in-use/story/customer/volvo-mobility-systems |title= Volvo Mobility Systems }}</ref> and [[Walt Disney Animation Studios]].<ref>{{cite web |url=http://qt.nokia.com/qt-in-use/story/customer/walt-disney-feature-animation
|title= Qt helped Walt Disney reduce development time spent on its cross-platform feature film production application
}}</ref>


'''Qt''' {{IPA|/ˈkjuːt/}} or {{IPA|/ˈkjuː ˈtiː/}} (pronounced "cute"<ref>{{cite web|url=https://www.qt.io/about-us/|title=Qt - About Us|archive-url=https://web.archive.org/web/20170222172844/https://www.qt.io/about-us/|archive-date=22 February 2017}}</ref><ref>{{cite web |url=http://bits.blogs.nytimes.com/2010/02/16/that-smartphone-is-so-qt/ |title=That Smartphone Is So Qt |date=16 February 2010 |author=Ashlee Vance |author-link=Ashlee Vance |access-date=19 February 2010 }}</ref> or as an [[initialism]]) is a cross-platform application development framework for creating [[graphical user interfaces]] as well as [[Cross-platform software|cross-platform]] applications that run on various software and hardware platforms such as [[Linux]], [[Windows]], [[macOS]], [[Android (operating system)|Android]] or [[embedded system]]s with little or no change in the underlying codebase while still being a native application with native capabilities and speed.
It is currently produced by [[Nokia]]'s [[Qt Development Frameworks]] division, which came into being after Nokia's acquisition of the [[Norway|Norwegian]] company [[Trolltech]], the original producer of Qt.<ref>[http://qt.nokia.com/about/the-nokia-acquisition Qt Software — Nokia acquired Trolltech]</ref> Nokia announced that it is going to drop [[Symbian]] technologies and base their future smartphones on [[Microsoft]] platform instead in February 2011. One month later Nokia announced the sale of Qt's commercial licensing and professional services to [[Digia PLC]], although Nokia will remain the main development force behind the framework.<ref name="Nokia and Digia">{{cite web |url=http://blog.qt.nokia.com/2011/03/07/nokia-and-digia-working-together/ |title=Nokia and Digia working together to grow the Qt community |date=2011-03-07 |accessdate=2011-03-08 |first=Sebastian |last=Nystrom}}</ref> On 9th May, it was announced on the Qt Labs website that the groundwork was being laid for the next major version of Qt, with the expectation that Qt 5 would be released in 2012. <ref name="Thoughts about Qt 5">">{{cite web |url=http://labs.qt.nokia.com/2011/05/09/thoughts-about-qt-5/ |title=Thoughts about Qt 5 |date=2011-05-09 |accessdate=2011-05-09 |first=Lars |last=Knoll}}</ref>


Qt is currently being developed by [[The Qt Company]], a publicly listed company, and the [[Qt Project]] under [[open-source governance]], involving individual developers and organizations working to advance Qt.<ref>{{cite web|url=https://dot.kde.org/2011/10/21/kde-applauds-qts-move-open-governance |title=KDE Applauds Qt's Move to Open Governance |publisher=KDE.News |first=Lydia|last=Pintscher |date=21 October 2011 |access-date=8 May 2013}}</ref><ref>{{cite news|last=Meyer |first=David |url=https://www.zdnet.com/article/nokia-gives-qt-open-source-governance/ |title=Nokia gives Qt open-source governance |work=ZDNet |date=24 October 2011 |access-date=8 May 2013}}</ref><ref>{{cite web|url=https://blog.qt.io/blog/2014/08/06/defragmenting-qt-and-uniting-our-ecosystem/|title=Defragmenting Qt and Uniting Our Ecosystem|first1=Lars|last1=Knoll|date=6 August 2014}}</ref> Qt is available under both commercial licenses<ref name="Qt Commercial Licenses" /> and [[open-source]]<ref name="Qt Licensing" /> [[GNU General Public License|GPL]] 2.0, GPL 3.0, and [[GNU Lesser General Public License|LGPL]] 3.0 licenses.<ref name="Qt Licensing 2016" /><ref name="Adding LGPLv3" />
Qt uses standard [[C++]] but makes extensive use of a special code generator (called the ''Meta Object Compiler'', or ''moc'') together with several macros to enrich the language. Qt can also be used in several other [[programming language]]s via [[language binding]]s. It runs on the major desktop platforms and some of the mobile platforms. It has extensive [[internationalization]] support. Non-GUI features include [[SQL]] database access, [[XML]] parsing, [[Thread (computer science)|thread]] management, network support, and a unified cross-platform [[application programming interface|API]] for file handling.


== Purposes and abilities ==
Distributed under the terms of the [[GNU]] [[Lesser General Public License]] (among others), Qt is [[free software|free]] and [[open source software]]. All editions support a wide range of compilers, including the [[GNU Compiler Collection|GCC]] C++ compiler and the [[Microsoft Visual Studio|Visual Studio]] suite.
Qt is used for developing [[graphical user interface]]s (GUIs) and multi-platform [[application software|applications]] that run on all major [[Desktop computer|desktop]] platforms and mobile or embedded platforms.
Most GUI programs created with Qt have a native-looking interface, in which case Qt is classified as a ''[[widget toolkit]]''. Non-GUI programs can also be developed, such as [[Command-line interface|command-line]] tools and consoles for servers. An example of such a non-GUI program using Qt is the Cutelyst [[web framework]].<ref>{{cite web|url=http://cutelyst.org/ |title=Cutelyst - Home}}</ref>


Qt supports various C++ compilers, including the [[GNU Compiler Collection|GCC]] and [[Clang]] C++ compilers and the [[Microsoft Visual Studio|Visual Studio]] suite. It supports other languages with bindings or extensions, such as [[Python (programming language)|Python]] via Python bindings<ref>{{
==Platforms==
Cite web|date=2023-12-27|
title=PyQt Documentation|
url=https://www.riverbankcomputing.com/enwiki/static/Docs/PyQt6/index.html|
website=www.riverbankcomputing.com
}}</ref> and [[PHP]] via an extension for PHP5,<ref>{{Cite web|date=2020-10-10|title=PHP-Qt - the Qt extension for php|url=http://www.php-qt.org/|url-status=live|archive-url=https://archive.today/20201012023551/http://www.php-qt.org/|archive-date=12 October 2020|access-date=2020-10-12|website=www.php-qt.org}}</ref> and has extensive [[internationalization and localization|internationalization]] support. Qt also provides [[Qt Quick]], that includes a [[Declarative programming|declarative]] [[scripting language]] called [[QML]] that allows using [[JavaScript]] to provide the logic. With Qt Quick, rapid application development for mobile devices became possible, while logic can still be written with native code as well to achieve the best possible performance.


Other features include [[SQL]] database access, [[XML]] parsing, [[JSON]] parsing, [[Thread (computing)|thread]] management and network support.
Qt is released by Nokia on the following platforms:

* '''Linux/X11''' – Qt for [[X Window System]] ([[GNU/Linux]], [[FreeBSD]], HP-UX, Solaris, AIX, etc.)<ref>[http://developer.qt.nokia.com/wiki/Support_for_Linux_X11 Qt Wiki - Support for Linux/X11]</ref>
== Releases ==
* '''Mac OS X''' – Qt for Apple [[Mac OS X]]. Support for applications on top of Cocoa APIs<ref>[http://developer.qt.nokia.com/wiki/Support_for_Mac_OS_X Qt Wiki - Support for Mac OS X]</ref>

* '''Windows''' – Qt for [[Microsoft Windows]]<ref>[http://developer.qt.nokia.com/wiki/Support_for_Windows Qt Wiki - Support for Windows]</ref>
The latest version of the Qt Framework is Qt 6.8, which was released on October 8, 2024.<ref>{{cite web |author1=Volker Hilsheimer |title=Qt 6.8 Released! |url=https://www.qt.io/blog/qt-6.8-released |website=www.qt.io |language=en}}</ref>
* '''Embedded Linux''' – Qt for embedded platforms ([[Personal Digital Assistant|PDA]], [[Smartphone]], etc.)<ref>[http://developer.qt.nokia.com/wiki/Support_for_Embedded_Linux Qt Wiki - Support for Embedded Linux]</ref>

* '''Windows CE / Mobile ''' – Qt for [[Windows CE]]/[[Windows Mobile]]<ref>[http://developer.qt.nokia.com/wiki/Support_for_Windows_CE_and_Windows_Mobile Qt Wiki - Support for Windows CE and Windows Mobile]</ref>
Also still supported are — for commercial users — 6.5 LTS, released on April 3, 2023, 6.2 LTS,<ref>{{cite web|url=https://wiki.qt.io/Qt_6.2_Release|title=Qt 6.2.2 Released|date=1 Dec 2021|website=Qt|publisher=The Qt Company|access-date=6 Dec 2021}}</ref> released on 30 September 2021, and 5.15 LTS, released on 26 May 2020 – [[long-term support]] (LTS) versions are generally supported for three years with a commercial license, while 5.15 support was extended to five years for subscription license holders, and so it is supported until 26 May 2025. Additionally the [[KDE]] project provides unofficial support for, at least, Qt 5.15, i.e. not just for commercial users.
* '''Symbian''' – Qt for the [[Symbian platform]].<ref>[http://developer.qt.nokia.com/wiki/Support_for_Symbian Qt Wiki - Support for Symbian]</ref><ref>[http://www.nokia.com/A4136001?newsid=1261033 Nokia - Nokia enriches application development with Qt for S60]</ref><ref>[http://wiki.forum.nokia.com/index.php/Qt_for_S60 Qt for S60 - Forum Nokia Wiki]</ref><ref>[http://www.symbian.com/news/cn/2008/cn200810131.html Symbian - Nokia enriches application development with Qt for S60]</ref><ref>[http://www.allaboutsymbian.com/news/item/8312_Nokia_Announce_Technology_prev.php All About Symbian - Nokia Announce Technology preview of Qt on S60]</ref><ref>[http://arstechnica.com/news.ars/post/20081020-nokia-releases-first-qt-preview-for-symbian-s60.html ars technica - Nokia releases first Qt preview for Symbian S60]</ref><ref>[http://labs.trolltech.com/blogs/2008/10/20/were-porting-qt-to-s60/ Qt Labs Blogs - We’re porting Qt to S60!]</ref><ref>[http://trolltech.com/developer/technical-preview-qt-for-s60 Qt Software — Technology Preview - Qt for S60]</ref><ref>[http://trolltech.com/products/device-creation/videos/how-to-get-qt-running-on-your-s60-phone Qt Software — How to get Qt running on your S60 phone]</ref> Qt is to replace Nokia's Avkon as the supported UI SDK for the development of Symbian applications.<ref>[http://tamss60.tamoggemon.com/2009/08/04/david-wood-s60-avkon-are-dead/ David Wood: S60 / Avkon are dead]</ref> The [http://wiki.forum.nokia.com/index.php/Category:Qt_for_Symbian Qt for Symbian] development group has many quality-controlled articles available.

* '''Maemo/MeeGo''' – Qt for [[Maemo]], merged with [[Moblin]] to [[MeeGo]].<ref>[http://developer.qt.nokia.com/wiki/Support_for_Maemo Qt Wiki - Qt on Maemo/MeeGo]</ref> There are many applications already written for [[Maemo]] based on the previous [[Internet tablet]]s. The [[Nokia N900]] also supports Qt. The [http://wiki.forum.nokia.com Forum Nokia Wiki] has quality-controlled articles that support [http://wiki.forum.nokia.com/index.php/Category:Qt Qt development]. The Maemo operating system has a development group on the [http://wiki.forum.nokia.com Forum Nokia Wiki] at [http://wiki.forum.nokia.com/index.php/Category:Maemo Forum Nokia Wiki Maemo].
== Qt in use ==
* '''Wayland''' – Qt for [[Wayland (display server)|Wayland display server]]. Qt applications can switch between graphical backends like X and Wayland at [[Run time (program lifecycle phase)|run time]] with the -platform command line option.<ref>{{cite web
In 2017, the Qt Company estimated a community of about 1 million developers worldwide<ref>{{cite web
| url = http://qt.gitorious.org/qt/pages/GettingStartedWithLighthouse
|url=https://investors.qt.io/releases/?release=A84F7B0247145FCF
| title = Getting started with Lighthouse
|title=QT GROUP OYJ - Managers' Transactions, 12/4/2017
| accessdate =17 December 2010
|date=12 April 2017
}}</ref><ref>{{cite web
|access-date=8 June 2017
| url = http://qt.gitorious.org/+qt-developers/qt/lighthouse/commit/6c5ea196ff086b92687033208f15e36591dc70f6
}}</ref> in over 70 industries.<ref>{{cite book
| author = Kristian Høgsberg
|url=https://books.google.com/books?id=t6uQNbVYoJoC&pg=PA172
| date = 25 January 2011
|title=Handbook of Research on Born Globals, Chapter 10: Born Global Firms, Internet, and New Forms of Internationalization
| title = Add wayland lighthouse plugin
|first=Rotem
|last=Shneor
|date=2012
|publisher=Edward Elgar
|access-date=8 June 2017
|isbn=9780857938046
}}</ref>
}}</ref>


===External ports===
=== Desktop UIs ===
[[File:KDE Mascot Konqi for Qt.png|thumb|KDE's mascot [[Konqi]]]]
Since Nokia opened the Qt source code to the community on [[Gitorious]] various ports have been appearing.
Graphical user-interfaces and [[desktop environment]]s that utilize Qt/QML as widget toolkit:
Here are some of them:
* [[KDE Plasma]], a [[libre software|libre]] [[desktop environment]] for various computing devices<ref>{{cite web|url=https://www.kde.org/developerplatform/ |title= The KDE development platform}}</ref>
* '''Qt for OpenSolaris''' – Qt for [[OpenSolaris]]<ref>[http://hub.opensolaris.org/bin/view/Project+kde/ KDE on OpenSolaris]</ref>
* DDE ([[Deepin]] Desktop Environment) of Linux Deepin<ref>{{cite web |url=http://news.softpedia.com/news/beautifully-crafted-deepin-15-linux-os-gets-a-release-candidate-build-gallery-498074.shtml |title=Beautifully Crafted Deepin 15 Linux OS Drops Ubuntu for Debian Sid, RC Out Now |author=Marius Nestor |date=24 December 2015 |quote=The Deepin desktop environment has been refactored in the latest Qt GUI toolkit, replacing the HTML5 and WebKit frameworks, while Go is still used for the backend.}}</ref><ref>{{cite web|url=https://www.deepin.org/2015/12/23/deepin-15-rc-make-you-only-have-eyes-for-us-by-the-sincerity/|title=深度操作系统 15 RC ——用真心捕获你的芳心 – 深度科技社区|date=23 December 2015|website=Deepin.org|access-date=15 June 2017|archive-date=17 May 2017|archive-url=https://web.archive.org/web/20170517234458/https://www.deepin.org/2015/12/23/deepin-15-rc-make-you-only-have-eyes-for-us-by-the-sincerity/|url-status=dead}}</ref>
* '''Qt for Haiku''' – Qt for [[Haiku (operating system)|Haiku]]<ref>[http://qt-haiku.ru Qt Applications and UI Framework for Haiku]</ref>
* UKUI ([[Ubuntu Kylin]] User Interface)<ref>{{cite web|url=https://www.omgubuntu.co.uk/2020/02/ubuntu-kylin-ukui-desktop-qt|title=Wowser, the UKUI 3.0 Desktop Looks Phenomenal (Updated)|author=Joey Sneddon|website=omg!ubuntu!|date=5 February 2020 }}</ref>
* '''Qt for OS/2''' – Qt for [[EComStation|OS/2 eCS platform]].<ref>[http://svn.netlabs.org/qt4 Qt 4 Application and UI Framework for eCS]</ref>
* CutefishDE, a desktop environment built with Qt Quick and essential KDE frameworks <ref>{{cite web|url=https://www.omgubuntu.co.uk/2021/06/cutefish-new-linux-desktop-environment |title= OMGUbuntu Review|date= 11 June 2021}}</ref>
* '''Qt for Amiga OS4''' – Qt for [[Amiga OS4]]<ref>[http://os4depot.net/?function=showfile&file=development/cross/qt-user.tar.gz OS4Depot page for "First Alpha release of Qt 4.7 for AmigaOS Native"]</ref>
* [[LXQt]] (Lightweight X11 Desktop Environment)
* '''Qt-iPhone''' – Experimental development of Qt for the [[iPhone]].<ref>[http://gitorious.org/+qt-iphone Experimental development of qt for the iPhone]</ref><ref>[http://www.qt-iphone.com/ Qt-iPhone project]</ref>
* [[Lumina (desktop environment)|Lumina]], a desktop environment designed for [[BSD]]-based TrueOS<ref>{{cite web|url=http://lumina-desktop.org/ |title= Lumina Homepage}}</ref>
* '''Qt for webOS''' – Experimental development of Qt for [[webOS]] on [[Palm Pre]].<ref>[http://gitorious.org/~darronb/qt/qt-palm-pre.git Qt webOS port]</ref><ref>[http://www.griffin.net/2010/02/qt-on-the-palm-pre.html Blog: Qt on the Palm Pre]</ref>
* Lomiri (formerly [[Unity8]]),<ref>{{cite web|url=https://ubports.com/blog/ubports-blog-1/post/lomiri-new-name-same-great-unity8-265|title=Lomiri: New name, Same Great Unity8|website=ubports.com|date=12 July 2019 }}</ref> a convergent desktop environment started by Canonical, maintained by Ubports<ref>{{cite web|url=https://github.com/ubports/unity8/ |title=Unity8 Code Repository on Github|website=Github.com|date=13 September 2022 }}</ref>
* '''Qt for Amazon Kindle DX''' – Experimental development of Qt for [[Amazon_Kindle#Kindle_DX|Amazon Kindle DX]].<ref>[http://www.griffin.net/2010/01/hacking-the-amazon-kindle-dx-part-2-qt-and-sudoku.html Blog: Qt on Amazon Kindle DX]</ref>
* Maui Shell, a DE that also features their own app suite<ref>{{cite web|url=https://www.youtube.com/watch?v=O7gzWHJ_cW4 |title= Review by Tylers Tech channel|website= [[YouTube]]|date= 6 January 2022}}</ref>
* '''Necessitas''' - Qt for [[Android (operating system)|Android]] <ref>[http://sourceforge.net/p/necessitas/home/ Necessitas project]</ref><ref>{{cite web|url=http://mobile.slashdot.org/story/11/02/22/0119247/First-Alpha-of-Qt-For-Android-Released|title=First Alpha of Qt For Android Released|date=February 22, 2011|publisher=[[Slashdot]]|accessdate=February 22, 2011}}</ref>
* [[Unity (user interface)#Unity 2D|Unity 2D]], a desktop shell written in Qt and Qml
* '''Qt for BlackBerry''' – Qt for [[BlackBerry]].<ref>[https://github.com/blackberry/Qt Github project]</ref>
* [[Trinity Desktop Environment|Trinity DE]], a continuously developed fork based on KDE3<ref>{{cite web|url=https://www.trinitydesktop.org/about.php|title=About Trinity|website=www.trinitydesktop.org|access-date=25 April 2019}}</ref>
* [[Simple Desktop Display Manager|SDDM]], a [[X display manager|display manager]] written in [[QML]] that is compatible with [[X11]] and [[Wayland (protocol)|Wayland]].


===Embedded and mobile UIs===
==Editions==
* Actively developed or maintained
** [[AsteroidOS]], an open source operating system designed for smartwatches
** Avionics, Panasonic's in-flight entertainment system<ref>{{cite web|url=http://www.panasonic.aero/InflightSystems/XSeries/eXK.aspx|title=X Series Qt-based graphical user interface|access-date=14 March 2016|archive-url=https://web.archive.org/web/20160223130443/http://panasonic.aero/InflightSystems/XSeries/eXK.aspx|archive-date=23 February 2016|url-status=dead}}</ref><ref>{{cite web|url=http://www.dailymotion.com/video/x2ua0or|title=Avionics powered by Qt|date=17 June 2015 }}</ref>
** [[Sailfish OS]], a mobile operating system developed by [[Jolla]]
** [[Plasma Mobile]], a touch-based GUI developed by [[KDE]]
** [[LuneOS]], community-driven successor for Palm/HP webOS
** [[Mer (software distribution)#Nemo Mobile|Nemo Mobile]], based on Mer
** [[Lomiri]], formerly known as Unity8, a phone UI developed by Ubports, originally by Canonical
** [[Tesla Model S]] in-car UI<ref>{{cite web|url=https://www.reddit.com/r/teslamotors/comments/1p0elo/tesla_ceo_says_they_will_upgrade_model_s_browser/ccxocpn |title=Qt Interface|date=23 October 2013 }}</ref>
** [[webOS]], a multitask operating system from LG for smart devices like TVs and smartwatches
** [[Sky Q]], the home entertainment system of [[Sky plc]]<ref>{{cite web|url=http://www.digitaltveurope.net/528082/sky-teams-up-with-the-qt-company-on-sky-q-interface/ |title=Sky teams up with The QT Company on Sky Q|date=19 April 2016 }}</ref>
* Available, but inactive
** [[MeeGo]] handset and tablet UX
** [[Qtopia]], a system by Nokia for embedded and mobile devices


=== Applications using Qt ===
There are three editions of Qt available on each of these platforms, namely:
{{See also|Category:Software that uses Qt|Category:Proprietary software that uses Qt}}
* '''GUI Framework''' – commercial entry level GUI edition, stripped of network and database support (formerly known as "Desktop Light")
Many notable open-source or proprietary cross-platform software are using Qt or [[QML]]: <!-- Don't list KDE applications. Almost all of them use Qt, and KDE is already mentioned under "GUI and Desktop environments". -->
* '''Full Framework''' – complete commercial edition
{{Div col}}
* '''Open Source''' – complete Open Source edition
* [[010 Editor]], a commercial hex editor and text editor for Microsoft Windows, Linux and macOS.
* [[Ableton Live]]
* [[Adobe Photoshop Album]]<ref>{{cite book |url=https://books.google.com/books?id=ia-smJ2_ClsC&q=Adobe+Photoshop+qt&pg=PT15 |title=C++ GUI Programming with Qt4 By Jasmin Blanchette, Mark Summerfield |isbn=9780132703000 |last1=Blanchette |first1=Jasmin |last2=Summerfield |first2=Mark |date=4 February 2008|publisher=Pearson Education }}</ref>
* [[Adobe Photoshop Elements]]<ref>{{cite book |title=Mobile Computing, Applications, and Services: First International ICST Conference, MobiCASE 2009, San Diego, CA, USA, October 26-29, 2009, Revised Selected Papers, Edited by Petros Zerfos, Rebecca Montanari, Thomas Phan |isbn=9783642126062 |last1=Zerfos |first1=Petros |last2=Montanari |first2=Rebecca |last3=Phan |first3=Thomas |date=11 May 2010 |publisher=Springer |url=https://books.google.com/books?id=RImtPKVDMG8C&q=Adobe+Photoshop+qt&pg=PA126}}</ref>
* AMD's [[Radeon Software]] Crimson Edition driver tool application.<ref>{{cite web|url=https://arstechnica.com/gaming/2015/11/amd-radeon-software-crimson-a-new-name-and-a-new-look-for-catalyst/|title=AMD Radeon Software Crimson: A new name and a new look for Catalyst|first=Mark|last=Walton|date=2 November 2015}}</ref>
* [[Audacious (software)|Audacious]], a music player for [[Linux]], Microsoft Windows, and other [[Unix-like]] operating systems.
* [[Autodesk Maya]]<ref>{{cite web |url=http://qt.nokia.com/qt-in-use/autodesk/ |title=Qt in Autodesk |url-status=dead |archive-url=https://web.archive.org/web/20110723145736/http://qt.nokia.com/qt-in-use/autodesk/ |archive-date=23 July 2011}}</ref>
* [[Autodesk 3ds Max]]<ref>{{cite web |url=https://help.autodesk.com/view/3DSMAX/2018/ENU/?guid=__developer_what_s_new_what_s_new_3ds_max_2018_sdk_html |title=What's New: 3ds Max 2018 SDK |website=help.autodesk.com |access-date=14 June 2019 |quote=3ds Max 2018 now uses Qt 5.6.2, and plug-ins can build UIs in Qt using the standard GPL Qt 5.6.2 distribution, and the Visual Studio 2015 Qt add-on}}</ref>
* [[Bitcoin Core]], the reference bitcoin implementation. Most bitcoin forks also provide the reference GUI.
* [[Calibre (software)|Calibre]], ebook collection application<ref>{{cite web |title=Plugin devs: Upcoming migration to Qt 6 - MobileRead Forums |url=https://www.mobileread.com/forums/showthread.php?t=344064}}</ref>
* [[Celestia]], real-time 3D simulator of the entire known universe (Qt only available with v1.7.0)
* [[CryEngine|CryEngine V]] editor<ref name="cryengine.com">{{cite web|url=https://www.cryengine.com/news/an-update-on-our-sandbox-interface-and-the-legacy-editor|title=An update on our Sandbox interface and the Legacy Editor}}</ref>
* [[DaVinci Resolve]], a video editor
* [[Dogecoin Core]]<ref>{{cite web | url=https://github.com/dogecoin/dogecoin | title=Dogecoin Core &#91;DOGE, Ð&#93; | website=[[GitHub]] }}</ref> community-driven cryptocurrency software.
* [[Dolphin (emulator)]], an emulator for the [[Wii]] and [[GameCube]]
* [[Dorico]] notation software
* [[Dragonframe]]<ref>{{cite web|title=Dyami Caliri, Qt Champion 2014|url=https://blog.qt.io/blog/2015/01/27/dyami-caliri-qt-champion-2014/}}</ref> stop motion animation software
* [[EAGLE (program)|EAGLE]] by [[CadSoft Computer]] / [[Autodesk]], an EDA application with schematic capture, PCB layout, auto-router and CAM features<!-- corresponding article has refs regarding Qt -->
* [[FreeCAD]], free open source parametric 3D CAD modeler
* [[FreeMat]] free open source numerical computing environment
* [[Gambas]] free open source [[BASIC]] [[integrated development environment]]
* [[GCompris]] [[free software|free]] educational suite for children
* [[Google Earth]]<ref>{{cite web|url=http://googlesystem.blogspot.de/2010/06/google-earth-includes-web-browser.html |title=Google Earth Includes a Web Browser |publisher=Googlesystem.Blogspot.de |date=15 June 2010|access-date=8 April 2013}}</ref>
* [[GPlates]], a plate tectonics visualisation software
* [[Igor Pro]], a data analysis software
* [[Krita]] graphics editing and digital painting software<ref>{{cite web|url=https://krita.org/en/item/krita-3-0-released |title=Krita 3.0 Released |date=31 May 2016|access-date=5 September 2017}}</ref>
* [[LMMS]], a cross-platform music production software
* [[Mathematica]], a mathematical symbolic computation program, sometimes termed a computer algebra system or program, used in many scientific, engineering, mathematical, and computing fields.<ref>{{cite web |url=http://qt.digia.com/Qt-in-Action/Mathematica-by-Wolfram-Research |title=Mathematica by Wolfram Research |url-status=dead |archive-date=29 May 2013 |archive-url=https://web.archive.org/web/20130529062205/http://qt.digia.com/Qt-in-Action/Mathematica-by-Wolfram-Research}}</ref>
* [[Monero]], a privacy-focused cryptocurrency, implements its official desktop [[Cryptocurrency wallet|wallet software]] using Qt.<ref>{{cite web |title=Monero GUI |url=https://github.com/monero-project/monero-gui |website=[[GitHub]]|date=2 June 2022}}</ref>
* [[MuseScore]], an open-source, multiplatform notation software
* [[Open Broadcaster Software|OBS]], a libre cross-platform screencast software
* [[Orange (software)|Orange]] data mining suite<ref>{{cite web|url=https://github.com/biolab/orange3|title=Orange3 Data Mining Suite|website=[[GitHub]]|date=3 June 2022 }}</ref>
* [[ParaView]] open-source cross-platform application for interactive, scientific visualization<ref>{{cite web |url=https://paraview.org|title=Parallel Data Analysis and Visualization Application based on VTK}}</ref>
* [[PCSX2]], a free and open-source cross-platform Playstation 2 emulator
* [[qBittorrent]] cross-platform free and open-source BitTorrent client<ref>{{cite web|title=Qbittorrent |url=https://github.com/qbittorrent/qBittorrent |website=[[GitHub]]|date=18 February 2022}}</ref>
* [[QGIS]] geographic information system<ref>{{cite web|url=http://www.qgis.org/pyqgis-cookbook/intro.html |title=PyQGIS Developer Cookbook: Introduction |website=qgis.org |access-date=1 March 2017 |quote=the whole QGIS code depends on Qt libraries}}</ref>
* [[Qtractor]] Audio multitrack recorder and editing software
* [[QuiteRSS]] Feed Reader
* [[Retroshare]] F2F communication platform
* [[Roblox#Roblox Studio|Roblox Studio]] a game creation tool used on the Roblox platform
* [[RStudio]] Desktop GUI and IDE for R statistical software<ref>{{cite book|title = Getting Started with RStudio|last = Verzani|first = John|date = 23 September 2011|publisher = O'Reilly Media, Inc|isbn = 9781449309039|page = 4}}</ref>
* [[Scribus]] desktop publishing software<ref>{{cite web|url=https://wiki.scribus.net/canvas/Development|title=Scribus Development}}</ref>
* [[Sibelius (software)|Sibelius]] music composition and notation software<ref>{{Cite web|url=http://www.sibelius.com/cgi-bin/helpcenter/chat/chat.pl?com=thread&start=702753&groupid=3&guest=1#702773|title=Sibelius - the leading music composition and notation software|website=www.sibelius.com|access-date=19 October 2016}}</ref>
* [[Soulseek|SoulseekQT]], a P2P file-sharing client<ref>{{cite web|url=http://www.slsknet.org/news/node/7|title=SoulseekQT Public Build 1|access-date=2024-01-04|archive-date=2014-05-12|archive-url=https://web.archive.org/web/20140512231731/http://www.slsknet.org/news/node/7|url-status=live}}</ref>
* [[Source 2]] engine tools<ref>{{cite web |url=https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Panorama |title=Panorama |website=Valve Developer Community |access-date=28 April 2017}}</ref> a 3D video game engine developed by [[Valve Corporation|Valve]]
* [[Spyder (software)|Spyder]], a Python [[Integrated development environment|IDE]]
* [[Stellarium (software)|Stellarium]], a planetarium program
* [[Subsurface (software)|Subsurface]], a software for logging and planning scuba dives initially designed and developed by Linus Torvalds<ref>{{cite web |url=http://subsurface.hohndel.org/2013/12/subsurface-4-0-has-been-released/ |title=Subsurface 4.0 has been released |date=15 December 2013 |access-date=23 March 2016 |archive-date=12 August 2014 |archive-url=https://web.archive.org/web/20140812012445/https://subsurface.hohndel.org/2013/12/subsurface-4-0-has-been-released/ |url-status=dead }}</ref>
* [[SuperCollider]], an environment and programming language for real-time audio synthesis and algorithmic composition
* [[Synergy (software)|Synergy]], a software application for sharing a keyboard and mouse between multiple computers
* [[Teamviewer]], a computer software package for remote control, desktop sharing, online meetings, web conferencing and file transfer between computers<ref>{{cite web |url=https://community.teamviewer.com/t5/Linux/Update-TeamViewer-13/td-p/24537|title=TeamViewer 13|date=December 2017 }}</ref>
* [[Telegram (software)|Telegram]], a messaging client available for Windows, Mac and Linux<ref>{{cite web |url=https://github.com/telegramdesktop/tdesktop|title=Telegram desktop messaging app|website=[[GitHub]]|date=17 February 2022}}</ref>
* [[VirtualBox]] OS virtualization software<ref>{{cite web|url=https://www.virtualbox.org/wiki/VBoxMainLogging|title=VBoxMainLogging - Oracle VM VirtualBox}}</ref>
* [[VLC media player]]<ref>{{cite web |url=https://wiki.videolan.org/Qt_Interface/|title= Qt Interface}}</ref>
* [[Wireshark]], a packet analyzer<ref>{{cite web |url=https://www.wireshark.org/docs/wsdg_html_chunked/ChUIQt.html|title= Qt Application Framework}}</ref>
* [[WPS Office]]<ref>{{cite web|url=https://github.com/wps-community/wps_i18n|title=wps_i18n: KSO/WPS internationalization support|last=wps-community|date=14 June 2017|access-date=15 June 2017|via=GitHub}}</ref>
* [[XaoS]], a real-time fractal zoomer
* [[XnView MP]]<ref>{{cite web |url=http://www.xnview.com/en/xnviewmp/ |title=XnView MP}}</ref>
{{Div col end}}


=== Organizations using Qt ===
Qt is available under the following copyright licenses:
Qt is utilized by a wide range of companies and organizations such as
{{Div col|colwidth=20em}}
* [[AMD]]<ref>{{cite web | url=https://www1.qt.io/qt-news/qt-enhances-user-experience-amds-radeon-software-crimson-edition-graphic-software/ |title=AMD's Radeon Software Crimson Edition | access-date=30 June 2016}}</ref>
* [[Blizzard Entertainment]]<ref>{{cite web |url=https://github.com/blizzard/Qt |title=Blizzard's additions/modifications to Qt|website=[[GitHub]]|date=28 April 2021}}</ref>
* [[BMW]]<ref>{{cite AV media|url=https://youtube.com/watch?v=R27q5SlXVzI |archive-url=https://ghostarchive.org/varchive/youtube/20211211/R27q5SlXVzI| archive-date=2021-12-11 |url-status=live|title=QtWS16- Qt Creator as BMW Car IT Automotive IDE, Helio Chissini de Castro, BMW Car IT}}{{cbignore}}</ref>
* [[Crytek]]<ref name="cryengine.com"/>
* [[Daimler AG]]<ref>{{cite press release|url=https://www.globenewswire.com/news-release/2018/05/16/1507404/0/en/Qt-selected-for-In-Vehicle-Infotainment-IVI-Systems-by-leading-automotive-OEMs.html|title=Qt selected for In-Vehicle Infotainment (IVI) Systems by leading automotive OEMs}}</ref><ref>{{cite AV media|url=https://youtube.com/watch?v=gRYtG30yHxo |archive-url=https://ghostarchive.org/varchive/youtube/20211211/gRYtG30yHxo| archive-date=2021-12-11 |url-status=live|title=Built with Qt: Mercedes-Benz Generation EQ}}{{cbignore}}</ref>
* [[DreamWorks Pictures|DreamWorks]]<ref>{{cite AV media |url=https://www.youtube.com/watch?v=SBQGN2SfEpk |archive-url=https://ghostarchive.org/varchive/youtube/20211211/SBQGN2SfEpk| archive-date=2021-12-11 |url-status=live|title= Behind the Scenes at DreamWorks Animation: Making the Apps that Make the Movies}}{{cbignore}}</ref><ref>{{cite AV media |url=https://www.youtube.com/watch?v=2Ig_OjvPWe8 |archive-url=https://ghostarchive.org/varchive/youtube/20211211/2Ig_OjvPWe8| archive-date=2021-12-11 |url-status=live|title= UI & System Design Challenges for the NxG Lighting Tool}}{{cbignore}}</ref>
* [[Electronic Arts]]<ref>{{cite web |title=Open Source - Electronic Arts |url=http://gpl.ea.com/qtsource.html}}</ref>
* [[European Space Agency]]<ref>{{cite web |title=Qt in the European Space Agency |url=http://qt.nokia.com/qt-in-use/story/customer/esa-european-space-agency |archive-url=https://web.archive.org/web/20110723145813/http://qt.nokia.com/qt-in-use/story/customer/esa-european-space-agency |archive-date=23 July 2011 |url-status=dead}}</ref>
* [[Deutsche Flugsicherung|German Air Traffic Control]]<ref>{{cite web|url=http://conversations.nokia.com/2011/03/15/10-qt-use-cases-you-didnt-know/ | title=10 Qt use cases you didn't know |archive-url=https://web.archive.org/web/20130730003816/http://conversations.nokia.com/2011/03/15/10-qt-use-cases-you-didnt-know/ |archive-date=30 July 2013 }}</ref>
* [[HP Inc.|HP]]<ref>{{cite web |url=http://qt-project.org/videos/watch/developing_innovative_desktop_and_embedded_hp_products_with_qt |title=Developing Innovative Desktop and Embedded HP Products with Qt |archive-url=https://web.archive.org/web/20140506204024/http://qt-project.org/videos/watch/developing_innovative_desktop_and_embedded_hp_products_with_qt |archive-date=6 May 2014}}</ref>
* [[LG]]<ref>{{cite web |first=Jon |last=Porter |url=https://www.theverge.com/2019/6/26/18759414/lg-qt-partnership-webos-cars-automotive-robots-smart-home-devices |title=LG tries to bring webOS to cars, robots, and the smart home with new partnership |date=26 June 2019 |publisher=The Verge |access-date=28 April 2020}}</ref>
* [[Lucasfilm]]<ref>{{cite press release |url=https://www.businesswire.com/news/home/20071015006427/en/Lucasfilm-Ltd.-Trolltechs-Qt-Create-User-Interface#.VYJvD2RViko|title=Lucasfilm Entertainment Company Ltd.}}</ref><ref>{{cite web |url=http://qt.nokia.com/qt-in-use/qt-in-visual-effects |title=Qt in Visual Effects |url-status=dead |archive-date=23 July 2011 |archive-url=https://web.archive.org/web/20110723145754/http://qt.nokia.com/qt-in-use/qt-in-visual-effects}}</ref>
* [[Microsoft]]<ref>{{cite web |url=http://www.qtworldsummit.com/2016/sessions/how-to-transition-your-existing-native-mobile-applications-to-using-a-common-qt-based-core/ | title= Qt World Summit talk}}</ref>
* [[Panasonic]]<ref>{{cite web |url=http://qt.nokia.com/about/news/panasonic-selects-qt-for-hd-video-system |title=Panasonic selects Qt for HD video system |url-status=dead |archive-url=https://web.archive.org/web/20110723145947/http://qt.nokia.com/about/news/panasonic-selects-qt-for-hd-video-system |archive-date=23 July 2011 }}</ref>
* [[Philips]]<ref>{{cite web |url=http://qt.nokia.com/qt-in-use/qt-in-ip-communications |title=Qt in IP Communications |url-status=dead |archive-url=https://web.archive.org/web/20110723145930/http://qt.nokia.com/qt-in-use/qt-in-ip-communications |archive-date=23 July 2011 }}</ref>
* [[Robert Bosch GmbH]]<ref>{{cite web|url=https://www.qt.io/bosch-built-with-qt|title=Bosch DruckMessWT built with Qt|date=January 2019}}</ref>
* [[Samsung]]<ref>{{cite web |url=http://qt.nokia.com/qt-in-use/qt-in-home-media |title=Qt in Home Media |url-status=dead |archive-url=https://web.archive.org/web/20110723145854/http://qt.nokia.com/qt-in-use/qt-in-home-media |archive-date=23 July 2011 }}</ref>
* [[Siemens]]<ref>{{cite web |url=http://qt.nokia.com/qt-in-use/story/customer/siemens |title=Qt helped Siemens deliver a C++ development platform for manufacturing software GUIs |url-status=dead |archive-url=https://web.archive.org/web/20110714191438/http://qt.nokia.com/qt-in-use/story/customer/siemens |archive-date=14 July 2011 }}</ref>
* [[Tesla, Inc.|Tesla]]<ref>{{cite web |url=https://electrek.co/2018/05/19/tesla-releases-softwar-open-source-licences/ |title=Tesla releases some of its software to comply with open source licences |author=Fred Lambert |authorlink=Fred Lambert |date=19 May 2018}}</ref>
* [[Tomtom]]<ref>{{cite web |url=https://resources.qt.io/customer-stories-automotive/qt-testimonial-tomtom-hmi-fabrizio-monaco |title=TomTom Builds Automotive HMIs with Qt |access-date=20 May 2019 }}</ref>
* [[Valve Corporation|Valve]]<ref>{{cite web |url=https://developer.valvesoftware.com/wiki/Qt |title=Qt |website=Valve Developer Community |access-date=28 April 2017}}</ref>
* [[Volvo]]<ref>{{cite web|url=http://qt.nokia.com/qt-in-use/story/customer/volvo-mobility-systems |title=Volvo Mobility Systems |archive-url=https://web.archive.org/web/20110714191457/http://qt.nokia.com/qt-in-use/story/customer/volvo-mobility-systems |archive-date=14 July 2011 }}</ref>
* [[Walt Disney Animation Studios]]<ref>{{cite web |url=http://qt.nokia.com/qt-in-use/story/customer/walt-disney-feature-animation |title=Qt helped Walt Disney reduce development time spent on its cross-platform feature film production application |url-status=dead |archive-url=https://web.archive.org/web/20110714191507/http://qt.nokia.com/qt-in-use/story/customer/walt-disney-feature-animation |archive-date=14 July 2011 }}</ref>
{{Div col end}}


== Qt software architecture ==
* [[GNU LGPL]]<ref name="Qt GNU LGPL v. 2.1 Version"/> 2.1 Version
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|upright=1.35|Example of Qt usage in Linux-based systems]]
* [[GNU GPL]]<ref name="Qt GNU GPL v. 3.0 Version"/> 3.0 Version with Qt special exception
* [[Proprietary software|Commercial Developer License]]<ref name="Qt Commercial Developer License"/>


==Current==
=== Qt concepts ===
Qt is built on these key concepts:
Trolltech released Qt 4.0 on June 28, 2005 and introduced five new technologies in the framework:
;Complete abstraction of the GUI: When first released, Qt used its own paint engine and controls, emulating the look of the different platforms it runs on when it drew its widgets. This made the porting work easier because very few classes in Qt really depended on the target platform; however, this occasionally led to slight discrepancies where that emulation was imperfect. Recent versions of Qt use the native style APIs of the different platforms, on platforms that have a native widget set, to query metrics and draw most controls, and do not suffer from such issues as often.<ref>{{cite web|url=http://qt.digia.com/Product/Qt-Core-Features--Functions/Library/|title=Library|quote=Qt uses the native graphics APIs of each platform it supports, taking full advantage of system resources and ensuring that applications have native look and feel.|publisher=Digia|url-status=dead|archive-url=https://web.archive.org/web/20131101011752/http://qt.digia.com/Product/Qt-Core-Features--Functions/Library/|archive-date=1 November 2013}}</ref> On some platforms (such as MeeGo and KDE) Qt ''is'' the native API. Some other portable graphical toolkits have made different design decisions; for example, [[wxWidgets]] uses the toolkits of the target platform for its implementations.
;[[Signals and slots]]: A language construct introduced in Qt for communication between objects<ref>{{cite web|url=https://doc.qt.io/qt-5/signalsandslots.html |title=Signals & Slots - QtCore 5.1 |publisher=Qt Project |date=4 July 2013|access-date=10 April 2015}}</ref> which makes it easy to implement the [[observer pattern]] while avoiding [[boilerplate code]]. The concept is that GUI [[GUI widget|widgets]] can send signals containing event information which can be received by other controls using special functions known as slots.
;Metaobject compiler: The [[metaobject]] compiler, termed ''moc'', is a tool that is run on the sources of a Qt program. It interprets certain macros from the C++ code as annotations, and uses them to [[Automatic programming|generate added C++ code]] with meta information about the classes used in the program. This meta information is used by Qt to provide programming features not available natively in C++: signals and slots, [[Type introspection|introspection]] and asynchronous function calls.
;Language bindings:Qt can be used in several [[programming language]]s other than C++, such as Python, Javascript, C# and Rust<ref>
{{cite web|url=https://www.vandenoever.info/blog/2018/10/30/building_qt_apps_with_cargo.html|title=Qt applications with Cargo|date=30 October 2018|website=www.vandenoever.info|access-date=25 April 2019}}</ref> via [[language binding]]s; many languages have [[list of language bindings for Qt 5|bindings for Qt 5]] and [[list of language bindings for Qt 4|bindings for Qt 4]].


=== Qt modules ===
* '''''Tulip''''' A set of template container [[Class (computer science)|classes]].
Starting with Qt 4.0 the framework was split into individual modules.<ref>{{cite web|url=https://dot.kde.org/2005/06/28/trolltech-releases-qt-40|title=Trolltech Releases Qt 4.0|publisher=[[KDE]]|date=28 June 2005|access-date=5 August 2013}}</ref><ref>{{cite web |url=https://qt-project.org/doc/qt-4.8/modules.html |title=All Modules &#124; Documentation |publisher=[[Qt Project]] |access-date=8 April 2013 |archive-url=https://web.archive.org/web/20130329130752/http://qt-project.org/doc/qt-4.8/modules.html |archive-date=29 March 2013 |url-status=dead }}</ref> With Qt 5.0 the architecture was modularized even further.<ref>{{cite web|author=Qt Blog |url=https://blog.qt.io/blog/2012/12/19/qt-5-0/ |title=Introducing Qt 5.0 &#124; Qt Blog |publisher=Digia |date=19 December 2012 |access-date=8 April 2013}}</ref><ref>{{cite web|url=https://dot.kde.org/2012/12/24/qt-50-congratulations-qt-project|title=Qt 5.0 - Congratulations to the Qt Project|author=Kyle Morris|publisher=KDE|date=24 December 2012|access-date=5 August 2013}}</ref> Qt is now split into ''essential'' and ''add-on'' modules.<ref>{{cite web|url=https://doc.qt.io/qt-6/qtmodules.html |title=Qt 6 Documentation: All Modules |publisher=Qt Project |access-date=1 December 2022}}</ref>
* '''''Interview''''' A [[Model–View–Controller|model/view]] architecture for item views.
* '''''Arthur''''' A 2D painting framework.
* '''''Scribe''''' A Unicode text renderer with a public API for performing low-level text layout.
* '''''MainWindow''''' A modern action-based main window, toolbar, menu, and docking architecture.


==== Qt essentials ====
{|class="wikitable"
{|class="wikitable"
! Version || Release Date || New Features
|-
|-
!style="width:12em"|Module
| 4.1 || December 19, 2005 || Introduced integrated [[Scalable Vector Graphics|SVG]] Tiny support, a [[Portable Document Format|PDF]] backend to Qt's printing system, and [http://www.trolltech.com/newsroom/announcements/00000229.html a few other features].
!Description
|-
|-
| '''Qt Core'''
| 4.2 || October 4, 2006 || Introduced [[Windows Vista]] support, introduced native CSS support for widget styling, as well as the QGraphicsView framework for efficient rendering of thousands of 2D objects onscreen, to replace Qt 3.x's QCanvas class.
|The only required Qt module, containing classes used by other modules, including the meta-object system, concurrency and threading, containers, event system, plugins and I/O facilities.
|-
|-
|'''Qt GUI'''
| 4.3 || May 30, 2007 || Improved [[Windows Vista]] support, improved [[OpenGL]] engine, [[SVG]] file generation, added [[QtScript]] ([[ECMAScript]] scripting engine based on QSA).<ref name="Qt4.3WhatsNew">[http://trolltech.com/products/qt/whatsnew/whatsnew-qt43 Trolltech: ''What’s New in Qt 4.3'']</ref>
|The central GUI module. In Qt 5 this module now depends on [[OpenGL]], but no longer contains any widget classes.
|-
|-
|'''Qt Widgets'''
| 4.4 || May 6, 2008 || Features included are improved multimedia support using [[Phonon (KDE)|Phonon]], enhanced [[XML]] support, a concurrency framework to ease the development of [[Thread (computer science)|multi-threaded]] applications, an [[Inter-process communication|IPC]] framework with a focus on shared memory, and [[WebKit]] integration.
|Contains classes for classic widget based GUI applications and the QSceneGraph classes. Was split off from '''QtGui''' in Qt 5.
|-
|-
|'''Qt QML'''
| 4.5 || March 3, 2009 || Major included features are [[QtCreator]], improved graphical engine, improved integration with [[WebKit]], [[OpenDocument]] Format write support and new licensing options, as well as Mac OS X Cocoa framework support.
|Module for [[QML]] and [[JavaScript]] languages.
|-
|-
|'''Qt Quick'''
| 4.6 || December 1, 2009 || New APIs are Framework Animation, Gestures, Multi-touch. Now supports (as Tier 1) Symbian and (as Tier 2) Windows 7 and Mac OS X 10.6, support extended for some UNIX systems. Improvements have also been made to overall performance.
|The module for GUI applications written using QML2.
|-
|-
|'''Qt Quick Controls'''
| 4.7 || September 21, 2010 || [[QML]] and [[Qt Quick]].
|Widget like controls for '''Qt Quick''' intended mainly for desktop applications.
|-
|'''Qt Quick Layouts'''
|Layouts for arranging items in '''Qt Quick'''.
|-
|'''Qt Network'''
|Network abstraction layer. Complete with support for [[Transmission Control Protocol|TCP]], [[User Datagram Protocol|UDP]], [[HTTP]], [[Transport Layer Security|TLS]], [[Secure Sockets Layer|SSL]] (in Qt 4) and [[SPDY]] (since Qt 5.3).
|-
|'''Qt Multimedia'''
|Classes for audio, video, radio and camera functionality.
|-
|'''Qt Multimedia Widgets'''
|The widgets from '''Qt Multimedia'''.
|-
|'''Qt SQL'''
|Contains classes for database integration using [[SQL]].
|-
|'''Qt WebEngine'''
|A new set of Qt Widget and QML webview APIs based on [[Chromium (web browser)|Chromium]].
|-
|'''Qt Test'''
|Classes for unit testing Qt applications and libraries.
|}
|}


==== Qt add-ons ====

{|class="wikitable"
==Design==
The innovation of Qt when it was first released relied on a few key concepts.

===Modules===

* Modules for general software development
** The '''QtCore''' module contains the core non-GUI classes, including the event loop and Qt's signal and slot mechanism. It also includes platform independent abstractions for [[Unicode]], threads, mapped files, shared memory, [[regular expressions]], and user and application settings.
** The '''QtGui''' module contains the majority of the GUI classes. These include a number of table, tree and list classes based on the [[Model–view–controller|model-view-controller]] design pattern. Also provided is a sophisticated [[2D computer graphics|2D]] canvas widget capable of storing thousands of items including ordinary widgets.
** The '''QtMultimedia''' module implements low-level multimedia functionality.
** The '''QtNetwork''' module contains classes for writing [[User Datagram Protocol|UDP]] and [[Transmission Control Protocol|TCP]] clients and servers. It includes classes that implement [[FTP]] and [[HTTP]] clients and support [[Domain Name System|DNS]] lookups. Network events are integrated with the event loop making it very easy to develop networked applications.
** The '''QtOpenGL''' module contains classes that enable the use of [[OpenGL]] in rendering [[3D computer graphics|3D]] graphics.
** The '''QtOpenVG''' module is a plugin that provides support for [[OpenVG]] painting.
** The '''[[QtScript]]''' module is an [[ECMAScript]]-based scripting engine
** The '''QtScriptTools''' module provides additional components for applications that use QtScript.
** The '''QtSql''' module contains classes that integrate with open-source and proprietary SQL databases. It includes editable data models for database tables that can be used with GUI classes. It also includes an implementation of [[SQLite]].
** The '''QtSvg''' module contains classes for displaying the contents of SVG files. It supports the static features of SVG 1.2 Tiny.
** The '''QtWebKit''' module provides a [[WebKit]]-based [[layout engine]] as well as classes to render and interact with web content.
** The '''QtXml''' module implements [[Simple API for XML|SAX]] and [[Document Object Model|DOM]] interfaces to Qt's XML parser.
** The '''QtXmlPatterns''' module provides support for [[XPath]], [[XQuery]], [[XSLT]] and [[XML]] Schema validation.
** The [[Phonon (KDE)|'''Phonon''']] multimedia [[API]] provides simple multimedia control.
** The '''Qt3Support''' module provides classes that ease porting from Qt 3 to Qt 4.
** The '''Qt Declarative''' <ref>[http://doc.qt.nokia.com/4.7-snapshot/qtdeclarative.html]</ref> module is a declarative framework for building fluid user interfaces in [[QML]]

* Modules for working with Qt's tools
** '''QtDesigner'''
** '''QtUiTools'''
** '''QtHelp'''
** '''QtTest'''

* Modules for Unix developers
** The '''QtDBus''' module is a library that you can use to perform Inter-Process Communication using the [[D-Bus]] protocol.

* Modules for Windows developers
** The '''QAxContainer''' module is an extension for accessing ActiveX controls and COM objects.
** The '''QAxServer''' module is a static library that you can use to turn a standard Qt binary into a COM server.

===Use of native UI-rendering APIs===
Qt used to emulate the native look of its intended platforms, which occasionally led to slight discrepancies where that emulation was imperfect. Recent versions of Qt use the native style APIs of the different platforms to query the platform for the desired appearance of the Qt controls, and so do not suffer from such issues as much.<ref>[http://qt.nokia.com/products/qt/index.html Products - Qt – A cross-platform application and UI framework] 'Qt uses the native graphics APIs of each platform it supports, taking full advantage of system resources and ensuring that applications have native look and feel.'</ref>

One should note that, on some platforms (such as MeeGo and KDE), Qt ''is'' the native API.

===Metaobject compiler===
The [[metaobject]] compiler, termed ''moc'', is a tool that is run on the sources of a Qt program. It interprets certain macros from the C++ code as annotations, and uses them to generate additional C++ code with "Meta Information" about the classes used in the program. This meta information is used by Qt to provide programming features not available natively in C++: the [[signals and slots|signal/slot system]], [[Type introspection|introspection]] and asynchronous function calls.

===QtScript ECMAScript interpreter===
[[QtScript]] is a cross-platform toolkit that allows developers to make their Qt/C++ applications scriptable using an interpreted scripting language: Qt Script (based on ECMAScript/[[JavaScript]]).

From Qt 4.3.0 onward, the scripting API,<ref>[http://doc.trolltech.com/4.3/qtscript.html Qt 4.3: QtScript Module<!-- Bot generated title -->]</ref> which is based on QSA,<ref>[http://doc.trolltech.com/qsa-1.2.2/ QSA 1.2: Qt Script for Applications<!-- Bot generated title -->]</ref> is integrated as a core part of Qt and is no longer a separate library.

===Bindings===
As shown in the table below, Qt has a range of [[Language binding|bindings]] for various languages<ref>[http://qt.nokia.com/products/programming-language-support QT Language Bindings]</ref> that implement some or all of its feature set.

{| class="wikitable sortable" style="font-size: 90%;"
|+ style="font-size: 1.25em;" | '''Qt language bindings'''
|-
|-
!style="width:12em"|Module
! [[Programming language|Language]]
!Description
! Name - description of binding
! QtCore
! QtDesigner
! QtGui
! Equivalent for uic
! QtNetwork
! QtOpenGL
! QtSql
! QtScript
! QtSvg
! QtTest
! QtUiTools
! QtWebKit
! QtXml
! [[Software license|License]] for [[Open source|open-source]] apps
! [[Software license|License]] for [[Proprietary software|proprietary]] applications
|-
|-
|'''Active Qt'''
| [[Ada (programming language)|Ada]]
|Classes for applications which use [[ActiveX]].
| [http://www.qtada.com/en/index.html QtAda]
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}<ref>[http://www.qtada.com/en/supported_modules.html] Supported Qt modules in QtAda</ref>
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{no}}
| {{yes}}
| {{GPL-lic}}
| {{Proprietary|[[GMGPL]]}} + fee
|-
|-
|'''Qt Charts'''
| [[C++]]
|Provides functionality and widgets to plot charts of many kinds
| [http://qt.nokia.com Qt] – native C++
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[GPL]] or [[LGPL]]}}
| {{partial|[[LGPL]] or Proprietary + fee}}
|-
|-
|'''Qt Bluetooth'''
| [[C Sharp (programming language)|C#]] & [[.NET Framework|.NET]]
|Classes accessing [[Bluetooth]] hardware.
| [https://projects.kde.org/projects/kde/kdebindings/csharp/qyoto Qyoto] – See also [https://projects.kde.org/projects/kde/kdebindings/csharp/kimono Kimono] for [[KDE]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}} ([https://projects.kde.org/projects/kde/kdebindings/csharp/qyoto/repository/revisions/master/show/tools/uics uics])
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
|
|
|-
|-
|'''Qt D-Bus'''
| C# & .NET
|Classes for IPC using the [[D-Bus]] protocol.
| [http://code.google.com/p/qt4dotnet/ qt4dotnet]
| {{yes}}
|
| {{yes}}
| WIP<ref>http://code.google.com/p/qt4dotnet/#Known_problems_/_missing_features</ref>
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[LGPL]]}}
| {{free|[[LGPL]]}}
|-
|-
|'''Qt NFC'''
| [[D (programming language)|D]]
|Classes accessing [[near-field communication|NFC]] hardware. Only officially supported on BlackBerry hardware so far (or N9 in the MeeGo port).
| [http://www.dsource.org/projects/qtd QtD]
|{{yes}}
|{{yes}}
|{{yes}}
|{{yes}} (duic)
|{{yes}}
|{{yes}}
|{{No}}
|{{No}}
|{{yes}}
|{{No}}
|{{No}}
|{{yes}}
|{{yes}}
| {{free|Boost Software License+[[GPL]]}}
| {{free|Boost Software License+[[GPL]]}}
|-
|-
|'''Qt OpenGL'''
| [[Haskell (programming language)|Haskell]]
|Legacy module containing the [[OpenGL]] classes from Qt 4. In Qt 5 the similar functionality in '''Qt GUI''' is recommended.
| [http://qthaskell.berlios.de/ Qt Haskell]
|
|
|
| {{No}}
|
|
|
|
|
|
|
|
|
|
|
|-
|-
|'''Qt Location'''
| [[Harbour (software)|Harbour]]
|Classes for accessing [[GPS]] and other location services and for mapping and navigation. Split off from the Qt 4 Mobility module of '''Qt Location'''. Supported on Android, BlackBerry, iOS, Linux (using [[GeoClue]]), Windows and Sailfish OS.
| [http://www.harbour-project.org/ hbqt]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}} (hbmk2)
| {{yes}}
| {{No}}
| {{yes}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{yes}}
| {{No}}
| {{GPL-lic}}
| {{free|[[LGPL]]}} like
|-
|-
|'''Qt Quick 3D'''
| [[Java (programming language)|Java]]
|Classes for rendering [[3D models]], [[video games]], simulations and [[3D user interaction|3D user interfaces]], with a '''Qt QML''' API, into a mixed 2D and 3D [[scene graph]].
| [[Qt Jambi]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}} (juic)
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[LGPL]]}}
| {{free|[[LGPL]]}}
|-
|-
|'''[[QtScript|Qt Script]]'''
| [[Lisp (programming language)|Lisp]]
|Legacy module for scripting Qt application using ECMAScript/[[JavaScript]]. In Qt 5, using similar classes in '''Qt QML''' is recommended.
| [http://common-lisp.net/project/commonqt/ CommonQt] – Bindings for [[Common Lisp]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[BSD License]]}}
| {{free|[[BSD License]]}}
|-
|-
|'''Qt Sensors'''
| [[Lua (programming language)|Lua]]
|Classes for accessing various mobile hardware sensors. Used to be part of Qt Mobile in Qt 4. Supported on Android, BlackBerry, iOS, WinRT, Mer and Linux.
| [http://code.google.com/p/lqt lqt] - Bindings
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[MIT License|MIT]]}}
| {{free|[[MIT License|MIT]]}}
|-
|-
|'''Qt Serial Port'''
| Lua
|Classes for access to hardware and virtual serial ports. Supported on Windows, Linux and macOS.
| [http://www.nongnu.org/libqtlua QtLua] - Bindings and script engine
|
|
|
|
|
|
|
|
|
|
|
|
|
|{{free|[[LGPL]]}}
|{{free|[[LGPL]]}}
|-
|-
|'''Qt WebChannel'''
| [[Pascal (programming language)|Pascal]]
|Provides access to Qt objects to HTML/Js over [[WebSocket]]s.
| [http://wiki.freepascal.org/Qt_Interface FreePascal Qt4]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|-
|-
|'''Qt WebKit'''
| [[Perl]]
|Qt's [[WebKit]] implementation and API.
| [https://projects.kde.org/projects/kde/kdebindings/perl/perlqt PerlQt] – See also [https://projects.kde.org/projects/kde/kdebindings/perl/perlkde PerlKDE ] for KDE
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}} (puic)
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{GPL-lic}}
| {{No}}
|-
|-
|'''Qt WebKit Widgets'''
| [[PHP]]
|The widget API for '''Qt WebKit'''
| [[PHP-Qt]]
| {{yes}}
| {{yes}}
| {{yes}}
| WIP
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[LGPL]]}}
| {{free|[[LGPL]]}}
|-
|-
|'''Qt WebSockets'''
| [[Python (programming language)|Python]]
|Provides a [[WebSocket]] implementation.
| [[PyQt]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}} (pyuic)
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{GPL-lic}}
| {{Proprietary}} + fee
|-
|-
|'''Qt XML'''
| Python
|Legacy module containing classes for [[Simple API for XML|SAX]] and [[Document Object Model|DOM]] style [[XML]] APIs. Replaced with QXmlStreamReader and QXmlStreamWriter classes in '''Qt Core'''.
| [[PySide]] – from OpenBossa (a subsidiary of Nokia).
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}} (pysideuic)
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
|
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[LGPL]]}}
| {{free|[[LGPL]]}}
|-
|-
|'''Qt XML Patterns'''
| Python
|Support for [[XPath]], [[XQuery]], [[XSLT]] and [[XML Schema (W3C)|XML Schema]] validation.
| [http://pythonqt.sourceforge.net/ PythonQt]
|
|}

|
=== Editions ===
|
There are four editions of Qt available: ''Community'', ''Indie Mobile'', ''Professional'' and ''Enterprise''.<ref name = "Qt Download">{{Cite web|url = https://www.qt.io/download/|title = Qt Download page|access-date = 21 November 2014|website = Download Qt|publisher = The Qt Company}}</ref> The Community version is under the open source licenses, while the Indie Mobile, Professional and Enterprise versions, which contain additional functionality and libraries, e.g. Enterprise Controls<ref name = "Qt Download" /> are commercially sold by The Qt Company.
| {{N/A}}

|
=== Supported platforms ===
|
{{Main|List of platforms supported by Qt}}
|

|
Qt works on many different platforms; the following are officially supported:
|

|
{|class="wikitable"
|
|
|
| {{free|[[LGPL]]}}
| {{free|[[LGPL]]}}
|-
|-
! Platform || Description
| [[QML]]
| QML – It is part of the Qt
| {{yes}}
| {{yes}}
| {{yes}}
| {{N/A}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[LGPL]]}}
| {{partial|LGPL or Proprietary + fee}}
|-
|-
| colspan="2" style="text-align: left; background: #eaecf0;" | '''Linux/Unix'''
| [[R (programming language)|R]]
| [https://r-forge.r-project.org/projects/qtinterfaces qtbase]
| {{yes}}
| {{yes}}
| {{yes}}
|
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[GPL]]}}
| {{No}}
|-
|-
|'''X11 '''
| [[Ruby (programming language)|Ruby]]
|Qt for [[X Window System]] ([[Linux]]<!-- Not officially(?): [[*BSD]], [[HP-UX]], [[Solaris (operating system)|Solaris]], [[AIX]], etc.-->);<ref>{{cite web|url=https://wiki.qt.io/Support_for_Linux_X11 |title=Qt Wiki&nbsp;– Support for Linux/X11 |publisher=Qt Project |date=24 March 2016 |access-date=27 July 2019}}</ref> [[FreeBSD]], [[NetBSD]], [[OpenBSD]], and [[DragonFly BSD]] have community support.
| [[QtRuby]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}} (rbuic)
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{free|[[LGPL]]}}
| {{free|[[LGPL]]}}
|-
|-
|'''Wayland'''
| [[Scheme (programming language)|Scheme]]
| Qt applications can switch between graphical backends like X and [[Wayland (display server protocol)|Wayland]] at [[load time]] with the -platform command line option.<ref>{{cite web
| [http://wiki.call-cc.org/eggref/4/qt Qt Egg] for [[Chicken (Scheme implementation)|Chicken Scheme]]
| url = https://wiki.qt.io/Getting_Started_With_Lighthouse
| {{no}}
| title = Getting started with Lighthouse
| {{yes}}
| access-date =25 November 2011
| {{yes}}
}}</ref><ref>{{cite web
| {{no}}
|url = https://qt.gitorious.org/qt/lighthouse/commit/6c5ea196ff086b92687033208f15e36591dc70f6
| {{yes}}
|first = Kristian
| {{yes}}
|last = Høgsberg
| {{no}}
|date = 25 January 2011
| {{no}}
|title = Add wayland lighthouse plugin
| {{no}}
|url-status = dead
| {{no}}
|archive-url = https://web.archive.org/web/20160203131659/https://qt.gitorious.org/qt/lighthouse/commit/6c5ea196ff086b92687033208f15e36591dc70f6
| {{yes}}
|archive-date = 3 February 2016
| {{no}}
}}</ref> This allows a seamless transition of Qt applications from X11 to Wayland. [[SailfishOS]] uses Wayland only as it does not have X11.<ref>{{cite web |url=https://blog.qt.io/blog/2011/03/18/multi-process-lighthouse/ |title=Multi-process Lighthouse |publisher=Qt Project|first=Jørgen|last=Lind|date=18 March 2011|access-date=21 August 2013}}</ref>
| {{no}}
|-
| {{free|[[BSD License]]}}
|'''Android'''
| {{free|[[BSD License]]}}
|Qt for [[Android (operating system)|Android]]<ref name="Digia">{{cite web|url=https://wiki.qt.io/New-Features-in-Qt-5.1#New_Modules |title=New Features in Qt 5.1 - Support for New Platforms |publisher=Digia |date=3 July 2013 |access-date=10 April 2015}}</ref> (formerly known as Necessitas).<ref>{{cite web |url=https://necessitas.kde.org/ |title=Necessitas project |access-date=10 April 2015 |archive-url=https://web.archive.org/web/20160220103506/https://necessitas.kde.org/ |archive-date=20 February 2016 |url-status=dead }}</ref>
|-
|'''Embedded Linux'''
|Qt for embedded platforms: [[personal digital assistant]], [[smartphone]], etc.<ref>{{cite web |url=https://wiki.qt.io/Support_for_Embedded_Linux |title=Qt Wiki&nbsp;– Support for Embedded Linux |publisher=Qt Project |date=12 August 2011 |access-date=10 April 2015}}</ref> Exists as multiple platforms depending on display technology. [[DirectFB]], [[Linux framebuffer|LinuxFB]] and EGLFS ([[EGL (API)|EGL]] Full Screen).
|-
| colspan="2" style="text-align: left; background: #eaecf0;" | '''Microsoft platforms'''
|-
|'''Windows'''
|Qt for Microsoft [[Windows 7]],<ref>{{cite web|url=https://wiki.qt.io/Support_for_Windows |title=Qt Wiki&nbsp;– Support for Windows |publisher=[[Qt Project]] |date=11 August 2011 |access-date=11 August 2013}}</ref> [[Windows 8|8]] and [[Windows 10|10]]<ref>{{cite web|url=http://blog.qt.io/blog/2015/04/29/windows-10-support-in-qt/ |title=Windows 10 Support in Qt |publisher=[[The Qt Company]] |date=29 April 2015 |access-date=28 January 2016}}</ref>
|-
|'''Windows RT'''
|Support for [[Windows Runtime|WinRT]]-based [[Windows 10 Mobile]] apps and [[Windows 10 IoT]]<ref name="auto">{{cite web |url=https://doc.qt.io/qt-5/winrt-support.html|title=Qt for WinRT|publisher=[[Qt Project]]|access-date=9 September 2014}}</ref>
|-
| colspan="2" style="text-align: left; background: #eaecf0;" | '''Apple platforms'''
|-
|'''macOS'''
|Qt for Apple [[macOS]]; supports applications on [[Cocoa (API)|Cocoa]]<ref>{{cite web|url=https://wiki.qt.io/Support_for_Mac_OS_X |title=Qt Wiki&nbsp;– Support for OS X |publisher=Qt Project |date=14 August 2011 |access-date=21 August 2013}}</ref>
|-
|'''iOS'''
|Qt for [[iOS]] platforms ([[iPhone]], [[iPad]])<ref>{{cite web|url=https://doc.qt.io/qt-5/supported-platforms.html |title=Supported Platforms|access-date=1 February 2014}}</ref>
|-
| colspan="2" style="text-align: left; background: #eaecf0;" | '''Other embedded platforms'''
|-
|'''Integrity'''
|Qt for [[Integrity (operating system)|Integrity]]<ref>{{Cite web|url = https://www.qt.io/qt-framework/#section-4|title = Qt Product pages, Supported platforms|access-date = 21 November 2014|website = Qt - Product - Qt Framework|publisher = The Qt Company}}</ref>
|-
|'''QNX'''
|Qt for [[QNX]]<ref>{{cite web |author=Katherine Barrios |url=http://blog.qt.io/blog/2011/11/29/qt-commercial-formally-supports-qnx-2/ |title=Qt Commercial Formally Supports QNX &#124; Qt Blog |date=29 November 2011 |access-date=13 March 2018}}</ref><ref>{{cite web|url=http://doc.qt.io/qt-5/platform-notes-qnx.html|title=Platform and Compiler Notes - QNX {{!}} Qt 5.10}}</ref>
|-
|-
|'''VxWorks'''
| [[Tcl]]
|Qt for [[VxWorks]].<ref>{{cite web |author=Tuukka Turunen |url=https://blog.qt.io/blog/2012/06/28/qt-commercial-for-vxworks-2/ |title=Qt Commercial for VxWorks &#124; Qt Blog |date=28 June 2012 |access-date=13 March 2018}}</ref><ref>{{cite web |url=https://doc.qt.io/qt-5/vxworks.html |title=Qt for VxWorks {{!}} Qt 5.10}}</ref> Only available under a [[proprietary software|proprietary]] (commercial) license. Qt 5.5.
| [http://sourceforge.net/projects/qtcl/ qtcl]
|
|
|
| {{No}}
|
|
|
|
|
|
|
|
|
| {{GPL-lic}}
| {{No}}
|-
|-
|'''QT for MCUs'''
! [[Programming language|Language]]
|QT for MCUs<ref>{{cite web |url=https://doc.qt.io/QtForMCUs-2.8/ |title=Qt for MCUs 2.8.1}}</ref>
! Name - description of binding
! QtCore
! QtDesigner
! QtGui
! Equivalent for uic
! QtNetwork
! QtOpenGL
! QtSql
! QtScript
! QtSvg
! QtTest
! QtUiTools
! QtWebKit
! QtXml
! [[Software license|License]] for [[Open source|open-source]] apps
! [[Software license|License]] for [[Proprietary software|proprietary]] applications
|}
|}


After Nokia opened the Qt source code to the community on [[Gitorious]], various ports appeared. There are also some ports of Qt that may be available, but are not supported anymore. These platforms are listed in [[List of platforms supported by Qt]]. See also there for current community support for other lesser known platforms, such as [[SailfishOS]].
===Qt hello world===
<source lang="cpp">
#include <QtGui>


=== Licensing ===
int main(int argc, char *argv[])
Qt is available under the following free software licenses:<ref name="Qt Licensing">{{cite web |url=https://www.qt.io/faq/ |title=Legal - FAQ - Qt |publisher=The Qt Company|website=www.qt.io|access-date=25 April 2019}}</ref> [[GNU General Public License#Version 2|GPL 2.0]], [[GNU General Public License#Version 3|GPL 3.0]], [[GNU Lesser General Public License|LGPL 3.0]] and [[GNU Lesser General Public License|LGPL 2.1]] (with Qt special exception).<ref name="Qt Licensing 2016">{{cite web
{
|url=http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
QApplication app(argc, argv);
|title= New agreement with the KDE Free Qt Foundation and changes for the open source version
QLabel label("Hello, world!");
|publisher= The Qt Company}}</ref><ref>{{cite web
label.show();
|url=https://doc.qt.io/qt-5/lgpl.html
return app.exec();
|title=Digia Qt LGPL Exception version 1.1}}</ref> Note that some modules are available only under a GPL license, which means that applications which link to these modules need to comply with that license.<ref>{{cite web
}
|url=https://www.qt.io/terms-conditions/
</source>
|publisher=[[The Qt Company]]
|access-date=7 January 2017
|title=Qt Licensing}}</ref>


In addition, Qt has always been available under a commercial license, like the Qt Commercial License,<ref name="Qt Commercial Licenses">{{cite web
===Compiling and executing Qt hello world program===
|url=http://doc.qt.io/qt-5/licensing.html
|title=Licenses}}</ref> that allows developing proprietary applications with no restrictions on licensing.


=== Qt tools ===
1. Create a [[folder (computing)|folder]] named ''Hello'' (or any other name) <br />
{{See also|Qt Creator}}
2. Copy and paste the above program as file ''Hello.cpp'' in directory ''Hello''<br />
3. With ''Hello'' as the current directory, run
a. qmake -project
b. qmake Hello.pro (or whatever the file is named)
c. make/gmake/nmake - as needed by OS and compiler environment
4. Execute ./release/Hello (Or release\Hello.exe in Windows)


Qt comes with its own set of tools to ease cross-platform development, which can otherwise be cumbersome due to different set of development tools.
==Tools==


* [[Qt Creator]], a cross-platform [[Integrated development environment|IDE]] for C++ and [[QML]]
[[Qt Creator]] is a cross-platform [[Integrated development environment|IDE]] for C++ and QML. [[Qt Creator#History|Qt Designer]]'s [[GUI]] layout/design functionality is integrated into the IDE, although Qt Designer can still be started as a standalone tool.
* [[qmake]], a tool that automates the generation of Makefiles for development project across different platforms
* Qt Designer
* Qt Assistant
* Qt Linguist
* lupdate
* lrelease
* lconvert
* QVFb
* makeqpf
* uic (User Interface Compiler)
* rcc (Resource Compiler)
* qtconfig
* qconfig
* qtdemo
* qt3to4
* qdbusxml2cpp
* D-Bus Viewer
* Qt Visual Studio Add-in
* Qt Eclipse Integration
* Qt Simulator
* Nokia Smart Installer for Symbian
* qmlviewer
* [[Qt Quick]], a [[QML]] based user interface development kit


In addition to Qt Creator, Qt provides [[qmake]], a cross-platform [[Build Automation|build script generation tool]] that automates the generation of Makefiles for development projects across different platforms.
===Migration tools===
There are other tools available in Qt, including the Qt Designer interface builder and the Qt Assistant help browser (which are both embedded in Qt Creator), the Qt Linguist translation tool, uic (user interface compiler), and moc (Meta-Object Compiler).
* [http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Windows/qtwinmigrate/ Qt/MFC Migration Framework] – For migration of Windows [[Microsoft Foundation Class Library]] based code
* [http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Migration/qtmotifextension/ Qt Motif extension] – For migration of [[Motif (widget toolkit)|Motif]] applications


==History==
== History of Qt ==
[[Haavard Nord]] and [[Eirik Chambe-Eng]] (the original developers of Qt and the CEO and President, respectively, of [[Trolltech]]) began development of "Qt" in 1991, three years before the company was incorporated as Quasar Technologies, then changed the name to Troll Tech and then to Trolltech.


=== Early developments ===
The toolkit was called Qt because the letter [[Q]] looked appealing in Haavard's [[Emacs]] font, and "t" was inspired by [[Intrinsics|Xt]], the X toolkit.<ref>{{cite web|url=http://safari.oreilly.com/0131872494/pref04|title=A Brief History of Qt|accessdate= 2007-12-20}}</ref>
In the summer of 1990, Haavard Nord and Eirik Chambe-Eng (the original developers of Qt and the CEO and President, respectively, of [[Trolltech]]) were working together on a database application for ultrasound images written in C++ and running on [[Classic Mac OS|Mac OS]], [[Unix]], and [[Microsoft Windows]].<ref name="oreilly-qt"/><ref>{{cite web|url=http://www.qt.io/qt20/|title=Qt - Qt20|work=Qt}}</ref> They began development of "Qt" in 1991, three years before the company was incorporated as Quasar Technologies, then changed the name to Troll Tech and then to Trolltech.<ref name="oreilly-qt" />


The toolkit was called Qt because the letter [[Q]] looked appealing in Haavard's [[Emacs]] typeface, and "t" was inspired by [[X Toolkit Intrinsics|Xt]], the X toolkit.<ref name="oreilly-qt">{{cite book|title=C++ GUI Programming with Qt 4 |last1=Blanchette |first1=Jasmin |last2=Summerfield |first2=Mark |publisher=[[Prentice-Hall]] |chapter=A Brief History of Qt |pages=xv–xvii |edition=1st |date=June 2006 |chapter-url=http://my.safaribooksonline.com/0131872494/pref04 |access-date=5 August 2013|archive-date=2019-09-23|archive-url=https://web.archive.org/web/20190923193951/https://my.safaribooksonline.com/0131872494/pref04}}</ref>
The first two versions of Qt had only two flavors: Qt/X11 for Unix and Qt/Windows for Windows. The Windows platform was only available under a proprietary license, which meant free/open source applications written in Qt for X11 could not be ported to Windows without purchasing the proprietary edition.


The first two versions of Qt had only two flavors: Qt/X11 for Unix and Qt/Windows for Windows.
At the end of 2001, Trolltech released Qt 3.0, which added support for Mac OS X. The Mac OS X support was available only in the proprietary license until June 2003, when Trolltech released Qt 3.2 with Mac OS X support available under the GPL.


On 20 May 1995 Trolltech publicly released Qt 0.90 for X11/Linux with the [[source code]] under the ''Qt Free Edition License''.<ref>{{cite web|url=https://quickgit.kde.org/?p=qt1.git&a=blob&h=2b98366d82a95f66988a7206290120e8c698ea40&f=LICENSE&o=plain |archive-url=https://web.archive.org/web/20161014010101/https://quickgit.kde.org/?p%3Dqt1.git%26a%3Dblob%26h%3D2b98366d82a95f66988a7206290120e8c698ea40%26f%3DLICENSE%26o%3Dplain|title=Qt Free Edition License |year=1992|publisher=Trolltech|access-date=14 October 2016|url-status=dead|archive-date=14 October 2016}}</ref><ref>{{cite web |url=http://blog.qt.io/blog/2015/05/20/happy-20th-anniversary-qt/|title=Happy 20th Anniversary Qt! |work=Qt Blog}}</ref><ref>{{cite web|url=http://sdtimes.com/qt-framework-celebrates-its-20th-anniversary/|title=Qt framework celebrates its 20th anniversary|work=SD Times|date=21 May 2015}}</ref> This license was viewed as not compliant with the free software definition by [[Free Software Foundation]] because, while the source was available, it did not allow the redistribution of modified versions. Trolltech used this license until version 1.45. Controversy erupted around 1998 when it became clear that the [[K Desktop Environment 1|K Desktop Environment]] was going to become one of the leading desktop environments for Linux. As it was based on Qt, many people in the [[free software movement]] worried that an essential piece of one of their major operating systems would be proprietary.
In June 2005, Trolltech released Qt 4.0.<ref>http://dot.kde.org/2005/06/28/trolltech-releases-qt-40</ref>


The Windows platform was available only under a proprietary license, which meant free/open source applications written in Qt for X11 could not be ported to Windows without purchasing the proprietary edition.
Nokia acquired Trolltech ASA on June 17, 2008 and changed the name first to Qt Software, then to Qt Development Frameworks.
Since then it focused on Qt development to turn it into the main development platform for its devices, including a port to the [[Symbian]] [[S60 (software platform)|S60 platform]]. Version 1.0 of the Nokia Qt SDK was released on 23 June 2010.<ref>http://labs.trolltech.com/blogs/2010/06/23/nokia-qt-sdk-10-released/</ref> The source code was made available over [[Gitorious]], a community oriented [[Git (software)|git]] source code repository, in order to gather an even broader community that is not only using Qt but also helping to improve it.


=== Becoming free software–friendly ===
===Licensing ===
With the release of version 2.0 of the toolkit in mid-1999, the license was changed to the [[Q Public License]] (QPL), a [[free software]] license, but one regarded by the [[Free Software Foundation]] as incompatible with the GPL. Compromises were sought between KDE and Trolltech whereby Qt would not be able to fall under a more restrictive license than the QPL, even if Trolltech was bought out or went bankrupt. This led to the creation of the KDE Free Qt foundation,<ref>{{cite web |url=https://www.kde.org/community/whatiskde/kdefreeqtfoundation.php|title=KDE Free Qt Foundation}}</ref> which guarantees that Qt would fall under a [[BSD-style license]] should no free/open source version of Qt be released during 12 months.<ref>{{cite web |url=https://www.kde.org/community/whatiskde/kdefreeqt_announcement.php|title=KDE Free Qt Foundation announcement|date=June 1998}}</ref><ref>{{cite web|url=https://www.kde.org/community/whatiskde/Software_License_agreement_2013.pdf|title=Software License Agreement|date=13 April 2013|publisher=Digia}}</ref>


In 2000, Qt/X11 2.2 was released under the GPL v2,<ref>{{cite web|url=http://qt.nokia.com/about/news/archive/00000043 |title=Trolltech offers a choice in licensing with the addition of GPL licensing for the upcoming release of Qt |publisher=Qt.nokia.com |archive-url=https://web.archive.org/web/20120313182431/http://qt.nokia.com/about/news/archive/00000043 |archive-date=13 March 2012|access-date=13 November 2011}}</ref> ending all controversy regarding [[License compatibility|GPL compatibility]].
At all times, Qt was available under a commercial license that allows the development of proprietary applications without restrictions on licensing. In addition, Qt has been gradually made available under a number of increasingly free licenses.


At the end of 2001, Trolltech released Qt 3.0, which added support for Mac OS X (now known as [[macOS]]). The Mac OS X support was available only in the proprietary license until June 2003, when Trolltech released Qt 3.2 with Mac OS X support available under the GPL.
Until version 1.45, source code for Qt was released under the FreeQt license. This was viewed as not compliant with the open source principle by the [[Open Source Initiative]] and the free software definition by [[Free Software Foundation]] because while the source was available, it did not allow the redistribution of modified versions.


In 2002, members of the [[KDE on Cygwin]] project began porting the GPL licensed Qt/X11 code base to Windows.<ref>{{cite web |url=http://qtwin.sourceforge.net/qt3-win32/history.php|title=Q../Windows Edition history|date=5 June 2006|archive-url=https://web.archive.org/web/20100731070812/http://qtwin.sourceforge.net/qt3-win32/history.php|archive-date=31 July 2010}}</ref> This was in response to Trolltech's refusal to license Qt/Windows under the GPL on the grounds that Windows was not a free/open source software platform.<ref>[https://marc.info/?l=kde-cygwin&m=104431728920022&w=2 E-mail to the kde-cygwin mailing list] by Chris January, 4 February 2003
Controversy erupted around 1998 when it became clear that [[KDE|KDE’s]] [[KDE Software Compilation]] was going to become one of the leading [[desktop environment]]s for [[Linux]]. As it was based on Qt, many people in the [[free software movement]] worried that an essential piece of one of their major operating systems would be proprietary.
</ref><ref>{{cite web |url=http://www.trolltech.com/developer/faqs/noncomm.html |title=Qt Non-commercial FAQ |publisher=Trolltech |archive-url=https://web.archive.org/web/20031005175911/http://www.trolltech.com/developer/faqs/noncomm.html |archive-date=5 October 2003}}</ref> The project achieved reasonable success although it never reached production quality.


This was resolved when Trolltech released Qt 4.0 also for Windows under the GPL in June 2005.<ref>{{cite web |url=https://dot.kde.org/2005/06/28/trolltech-releases-qt-40 |title=Trolltech Releases Qt 4.0 &#124; KDE.news |date=28 June 2005 |publisher=KDE.News |access-date=13 November 2011}}</ref> Qt&nbsp;4 supported the same set of platforms in the free software/open source editions as in the proprietary edition, so it is possible, with Qt 4.0 and later releases, to create GPL-licensed free/open source applications using Qt on all supported platforms. The GPL v3 with special exception<ref>{{cite web |url=http://doc.trolltech.com/4.4/license-gpl-exceptions.html |title=Nokia Corporation Qt GPL Exception Version 1.3 |publisher=Doc.trolltech.com |date=22 July 1999 |access-date=13 November 2011 |archive-url=https://web.archive.org/web/20101003074912/http://doc.trolltech.com/4.4/license-gpl-exceptions.html |archive-date=3 October 2010 |url-status=dead }}</ref> was later added as an added licensing option. The GPL exception allows the final application to be licensed under various GPL-incompatible [[free software license|free software]]/[[open source license|open source]] licenses such as the [[Mozilla Public License]] 1.1.
With the release of version 2.0 of the toolkit, the license was changed to the [[Q Public License]] (QPL), a [[free software]] license but one regarded by the [[Free Software Foundation]] as incompatible with the GPL. Compromises were sought between KDE and Trolltech whereby Qt would not be able to fall under a more restrictive license than the QPL, even if Trolltech was bought out or went bankrupt. This led to the creation of the [http://www.kde.org/community/whatiskde/kdefreeqtfoundation.php KDE Free Qt foundation], which guarantees that Qt would fall under a [[BSD-style license]] should no free/open source version of Qt be released during 12 months.


=== Acquisition by Nokia ===
In 2000, Qt 2.2 was released under the GPL v2,<ref>http://qt.nokia.com/about/news/archive/00000043 Trolltech offers a choice in licensing with the addition of GPL licensing for the upcoming release of Qt </ref> ending all controversy regarding GPL compatibility.
[[Nokia]] acquired Trolltech ASA on 17 June 2008 and changed the name first to Qt Software, then to Qt Development Frameworks.


Nokia focused on turning Qt into the main development platform for its devices, including a port to the [[Symbian]] [[S60 (software platform)|S60 platform]]. Version 1.0 of the Nokia Qt SDK was released on 23 June 2010.<ref>{{cite web|first=Niels|last=Weber |url=https://blog.qt.io/blog/2010/06/23/nokia-qt-sdk-10-released/ |title=Nokia Qt SDK 1.0 released |publisher=Labs.trolltech.com |date=23 June 2010 |access-date=13 November 2011}}</ref> The source code was made available over Gitorious, a community oriented [[Git (software)|git]] source code repository, with a goal of creating a broader community using and improving Qt.
In 2002, members of the [[KDE on Cygwin]] project began porting the GPL licensed Qt/X11 code base to Windows.<ref>[http://qtwin.sourceforge.net/qt3-win32/history.php Q../Windows Edition history], 5 June 2006</ref> This was in response to Trolltech's refusal to license Qt/Windows under the GPL on the grounds that Windows was not a free/open source software platform.<ref>[http://lists.kde.org/?l=kde-cygwin&m=104431728920022&w=2 E-mail to the kde-cygwin mailing list] by Chris January, 4 February 2003
</ref><ref>[http://web.archive.org/web/20031005175911/http://www.trolltech.com/developer/faqs/noncomm.html Qt Non-commercial FAQ], 5 October 2003</ref> The project achieved reasonable success although it never reached production quality.


On 14 January 2009, Qt version 4.5 added another option, the [[LGPL]],<ref>{{cite web|first=Sebastian|last=Nyström |url=https://blog.qt.io/blog/2009/01/14/nokia-to-license-qt-under-lgpl/|title=Nokia to license Qt under LGPL|date=14 January 2009 |access-date=17 September 2013}}</ref> to make Qt more attractive for both non-GPL open source projects and closed applications.<ref>{{cite web |url=https://www.ics.com/files/docs/Qt_LGPL.pdf |title=ICS Whitepaper on the Implications of Qt under LGPL for Commercial and Government users |access-date=13 November 2011}}</ref>
This was resolved when Trolltech released Qt/Windows 4 under the GPL in June 2005. Qt&nbsp;4 now supports the same set of platforms in the free software/open source editions as in the proprietary edition, so it is now possible to create GPL-licensed free/open source applications using Qt on all supported platforms. The GPL v3 with special exception<ref>[http://doc.trolltech.com/4.4/license-gpl-exceptions.html Nokia Corporation Qt GPL Exception Version 1.3]</ref> was later added as an additional licensing option. The GPL exception allows the final application to be licensed under various GPL-incompatible [[free software license|free software]]/[[open source license|open source]] licenses such as the [[Mozilla Public License]].


In February 2011, Nokia announced its decision to drop Symbian technologies and base their future smartphones on the [[Windows Phone]] platform instead (and since then support for that platform has also been dropped).<ref name="MSNokiaPressRelease2011">
On January 14, 2009, Qt version 4.5 added another option, the [[LGPL]],<ref>[http://www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt LGPL License Option Added to Qt] January 14, 2009</ref> which should make Qt even more attractive for non-GPL open source projects and for closed applications.<ref>[http://www.ics.com/files/docs/Qt_LGPL.pdf ICS Whitepaper on the Implications of Qt under LGPL for Commercial and Government users]</ref>
{{cite press release |title= Nokia and Microsoft Announce Plans for a Broad Strategic Partnership to Build a New Global Mobile Ecosystem |url= http://www.microsoft.com/presspass/press/2011/feb11/02-11partnership.mspx |publisher= [[Microsoft]] |date= 10 February 2011 |access-date= 27 October 2011|archive-date= 1 April 2011|archive-url=https://web.archive.org/web/20110401153916/http://www.microsoft.com/presspass/press/2011/feb11/02-11partnership.mspx}}</ref> One month later, Nokia announced the sale of Qt's commercial licensing and professional services to Digia, with the immediate goal of taking Qt support to [[Android (operating system)|Android]], [[iOS]] and [[Windows 8]] platforms, and to continue focusing on desktop and embedded development, although Nokia was to remain the main development force behind the framework at that time.


=== Merging and demerging with Digia ===
==Uses==
In March 2011, Nokia sold the commercial licensing part of Qt to Digia, creating Qt Commercial.<ref name="Nokia and Digia">{{cite web |url=https://blog.qt.io/blog/2011/03/07/nokia-and-digia-working-together/ |title=Nokia and Digia working together to grow the Qt community |date=7 March 2011 |access-date=8 July 2011 |first=Sebastian |last=Nystrom}}</ref> In August 2012, Digia announced that it would acquire Qt from Nokia.<ref>{{cite web|author=Digia Plc |url=https://www.digia.com/en/Home/Company/Press/2012/Digia-to-acquire-Qt-from-Nokia/ |title=Digia to acquire Qt from Nokia |publisher=Digia Plc |date=9 August 2012 |access-date=17 October 2014}}</ref> The Qt team at Digia started their work in September 2012.<ref>{{cite web|author=Digia Plc |url=https://www.digia.com/en/Home/Company/Press/2012/Digia-to-acquire-Qt-from-Nokia/ |title=The journey starts today |publisher=Digia Plc |date=18 September 2012 |access-date=17 October 2014}}</ref> They released Qt 5.0 within a month and newer versions every six months with new features and additional supported platforms.
=== UI Environments===


In September 2014, Digia transferred the Qt business and copyrights to their wholly owned subsidiary, The Qt Company, which owns 25 brands<ref>{{cite web|url=https://www.tmdn.org/tmview/bookmark?q=anm:%22qt%20company%22|title=TMview search result shown on September 12th, 2016|website=TMDN.org|access-date=15 June 2017}}</ref> related to Qt. In May 2016, Digia and Qt demerged completely into two independent companies.<ref>{{cite web|url=http://www.digia.com/en/actual/news/2016/digia-and-qt-have-demerged-into-two-companies--digias-new-strategys-main-themes-revealed/|title=Digia and Qt have demerged into two companies – Digia's new strategy's main themes revealed|website=Digia|access-date=15 June 2017|archive-date=17 June 2017|archive-url=https://web.archive.org/web/20170617092521/http://www.digia.com/en/actual/news/2016/digia-and-qt-have-demerged-into-two-companies--digias-new-strategys-main-themes-revealed/|url-status=dead}}</ref>
* [[KDE Plasma Workspaces]], a popular Cross-platform graphical environment
* [[MeeGo]], Linux-based open source mobile operating system
* [[Motorola A760]], uses Qt/Embedded in its UI
* [[OPIE user interface|OPIE]]
* [[Qt Extended Improved]]
* [[Razor-qt]], a toolbox-like desktop environment<ref>{{cite web
|url=http://razor-qt.sf.net
|title=Razor-qt Project
}}</ref>
* [[Unity (desktop environment)|Unity]]


=== Window Managers for the X Window system ===
=== The Qt Project and open governance ===
{{Main|Qt Project}}


Qt 5 was officially released on 19 December 2012. This new version marked a major change in the platform, with hardware-accelerated graphics, [[QML]] and [[JavaScript]] playing a major role. The traditional C++-only QWidgets continued to be supported, but did not benefit from the performance improvements available through the new architecture.<ref>{{cite mailing list|url=https://www.mail-archive.com/qt5-feedback@qt.nokia.com/msg01420.html|title=Concern about removal of QWidget classes|mailing-list=Qt5-feedback|date=7 October 2011}}</ref> Qt 5 brings significant improvements to the speed and ease of developing user interfaces.<ref>{{cite web |url=https://blog.qt.io/blog/2011/05/09/thoughts-about-qt-5/ |title=Thoughts about Qt 5 |access-date=9 May 2011 |first=Lars |last=Knoll|publisher=Digia|date=9 May 2011}}</ref>
The following [[window manager]]s utilize the Qt toolkit:


Framework development of Qt 5 moved to open governance at qt-project.org, which made it possible for developers outside Digia to submit patches for review.<ref>{{cite web|url=https://blog.qt.io/blog/2011/10/21/the-qt-project-is-live/|title=The Qt Project is live!|first=Lars|last=Knoll|publisher=[[Nokia]]|date=21 October 2011|access-date=8 February 2012}}</ref>
* [[EggWM]]<ref>[http://qt-apps.org/content/show.php/Egg+Window+Manager?content=136862 Egg Window Manager]</ref>
* [[integrity (window manager)|integrity]]
* [[KWin]]
* [[qlwm]]


===Applications===
=== Qt contributors ===
[[File:Qt contributors 2013W18 without Digia.png|thumb|upright=1.35|Distribution of non-Digia Qt contributors (2013, Week 18)]]
{{Main category|Software that uses Qt}}
Aside from The Qt Company, many organizations and individuals using Qt as their development platform participate in the open development of Qt via the Qt Project.<ref name="Stats2012">{{cite web|last=Macieira |first=Thiago |url=http://www.macieira.org/blog/2012/04/qt-project-statistics/ |title=Qt Project Statistics | work=Thiago Macieira's blog |publisher=Macieira.org |access-date=8 May 2013}}</ref>


One such Qt contributor is Klarälvdalens Datakonsult AB, a Swedish Qt consulting company.<ref>{{cite web |url=http://www.kdab.com/kdab-contributions-to-qt-5-0-part-1/ |title=contributions to Qt 5.0 (part 1) |publisher=KDAB |date=20 December 2012 |access-date=8 May 2013}}</ref> KDAB is involved in many areas, including maintenance of several components.<ref>{{cite web|url=http://www.kdab.com/kdab-contributions-to-qt-5-0-part-2/ |title=contributions to Qt 5.0 (part 2) |publisher=KDAB |date=21 December 2012 |access-date=8 May 2013}}</ref><ref>{{cite web|url=http://www.kdab.com/maintaining-qt3d/ |title=Maintaining Qt3D |publisher=KDAB |date=21 December 2012 |access-date=8 May 2013}}</ref>
===Software libraries===
* [[Advanced Component Framework]]
* [[KDE Platform]]
* LibQxt
* [http://www.devmachines.com/ Nokia's Qt Third-Party Widgets & Components]
* [http://www.devmachines.com/products/qtitanribbon.html QtitanRibbon] - Implementation Microsoft's RibbonUI for Qt
* Qt Mobility
* Qt Solutions
* [[Qwt]]
* ORM libraries (see [[List of object-relational mapping software#C.2B.2B|List of object-relational mapping software for C++]])


Together with [[BlackBerry (company)|RIM/BlackBerry]], KDAB is maintaining the [[QNX]] and [[BlackBerry 10]] ports of Qt.<ref name="Stats2012" /><ref>{{cite web |url=http://www.kdab.com/qt5-on-the-qnx-operating-system/ |title=Qt5 on the QNX operating system |publisher=KDAB |date=19 April 2012 |access-date=8 May 2013}}</ref>
==See also==


Another participator is [[Intel]], contributing for example [[Wayland (display server protocol)|Wayland]] support.<ref>{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=ODYyNQ |title=[Phoronix&#93; Qt Is Now Drawing On Wayland |publisher=Phoronix.com |date=21 September 2010 |access-date=8 May 2013}}</ref> [[AudioCodes]] maintains [[IBM Rational ClearCase|IBM ClearCase]] support in [[Qt Creator]].<ref>{{cite web|url=http://wiki.qt.io/Maintainers |title=Maintainers &#124; Qt Wiki |publisher=Qt Project |date=12 April 2013 |access-date=8 May 2013}}</ref>
===Other widget toolkits===


As a heavy user of Qt, the [[KDE]] project submits many patches and features from its developer library [[KDE Frameworks]] back to Qt.<ref>{{cite web|url=http://community.kde.org/Frameworks/Epics/Contributions_to_Qt5|title=Frameworks/Epics/Contributions to Qt5|publisher=KDE Community Wiki|access-date=27 April 2015}}</ref>
* [[Wt – Web toolkit|Wt]], a C++ library and application server for developing and deploying web applications. It resembles Qt, using also a widget tree and event-driven signal/slot programming model.
* [[GTK+]], another widely used open-source widget toolkit.
* [[wxWidgets]] - cross platform open source C++ widgets toolkit developed by community


==References==
== See also ==
* [[List of widget toolkits]]
===Notes===
* [[Android software development]]
{{Reflist|colwidth=30em}}
* [[iOS SDK]]
* [[Wt (web toolkit)]]


===Bibliography===
== Bibliography ==
Qt Wiki provides a comprehensive list of English books about Qt.<ref>{{cite web|url=http://wiki.qt.io/Books|title=Books - Qt Wiki|website=wiki.Qt.io|access-date=15 June 2017}}</ref> This is a list of notable books:
{{Refbegin|colwidth=30em}}

*{{Citation
{{Refbegin}}
| first1 = Mark
* {{cite web
| last1 = Summerfield
|last1 = Bocklage-Ryannel
| title = Advanced Qt Programming: Creating Great Software with C++ and Qt 4
| edition = 1st
|first1 = Juergen
|last2 = Thelin
| date = August 23, 2010
|first2 = Johan
| publisher = [[Addison-Wesley]]
| pages = 550
|title = Qt 5 Cadaques
|edition = 1st
| isbn = 978-0321635907
|date = 12 May 2015
| url = http://www.qtrac.eu/aqpbook.html
|url = https://qmlbook.github.io/
}}
}}
*{{Citation
* {{cite book
| first1 = Frank H. P.
|last1 = Blanchette
| last1 = Fitzek
|first1 = Jasmin
| first2 = Tommi
|last2 = Summerfield
| last2 = Mikkonen
|first2 = Mark
|title = C++ GUI Programming with Qt 4
| first3 = Tony
| last3 = Torp
|edition = 2nd
| title = Qt for Symbian
|date = 14 February 2008
|publisher = [[Prentice Hall]]
| edition = 1st
| date = May 17, 2010
|isbn = 978-0-13-235416-5
|url = https://www.informit.com/store/c-plus-plus-gui-programming-with-qt4-9780132354165
| publisher = [[John Wiley & Sons|Wiley]]
| pages = 160
| isbn = 0470750103
| url = http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470750103.html
}}
}}
*{{Citation
* {{cite book
| first1 = Jasmin
|last = Summerfield
| last1 = Blanchette
|first = Mark
|title = Advanced Qt Programming: Creating Great Software with C++ and Qt 4
| first2 = Mark
| last2 = Summerfield
|edition = 1st
| title = C++ GUI Programming with Qt 4
|date = 23 August 2010
|publisher = [[Addison-Wesley]]
| edition = 2nd
| date = February 14, 2008
|isbn = 978-0-321-63590-7
|url = http://www.qtrac.eu/aqpbook.html
| publisher = [[Prentice Hall]]
| pages = 752
| isbn = 978-0132354165
| url = http://www.informit.com/store/product.aspx?isbn=0132354160
}}
}}
*{{Citation
* {{cite book
| first1 = Mark
|last1 = Fitzek
| last1 = Summerfield
|first1 = Frank H. P.
|last2 = Mikkonen
| title = Rapid GUI Programming with Python and Qt
| edition = 1st
|first2 = Tommi
| date = October 28, 2007
|last3 = Torp
|first3 = Tony
| publisher = [[Prentice Hall]]
| pages = 648
|title = Qt for Symbian
| isbn = 978-0132354189
|edition = 1st
| url = http://www.qtrac.eu/pyqtbook.html
|date = 17 May 2010
|publisher = [[John Wiley & Sons|Wiley]]
|isbn = 978-0-470-75010-0
|url = http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470750103.html
|url-status = dead
|archive-url = https://web.archive.org/web/20091219194350/http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470750103.html
|archive-date = 19 December 2009
}}
}}
*{{Citation
* {{cite book
| first1 = Daniel
|last = Summerfield
| last1 = Molkentin
|first = Mark
| title = The Book of Qt 4: The Art of Building Qt Applications
|title = Rapid GUI Programming with Python and Qt
| edition = 1st
|edition = 1st
| date = July 19, 2007
|date = 28 October 2007
| publisher = [[No Starch Press]]
|publisher = [[Prentice Hall]]
| pages = 440
|isbn = 978-0-13-235418-9
|url = http://www.qtrac.eu/pyqtbook.html
| isbn = 978-1593271473
| url = http://nostarch.com/qt4.htm
}}
}}
*{{Citation
* {{cite book
| first1 = Johan
|last = Molkentin
| last1 = Thelin
|first = Daniel
| title = Foundations of Qt Development
|title = The Book of Qt 4: The Art of Building Qt Applications
| edition = 1st
|edition = 1st
| date = August 3, 2007
|date = 19 July 2007
| publisher = [[Apress]]
|publisher = [[No Starch Press]]
| pages = 528
|isbn = 978-1-59327-147-3
|url = https://www.nostarch.com/qt4.htm
| isbn = 978-1590598313
|access-date = 18 June 2015
| url = http://www.apress.com/book/view/9781590598313
|archive-date = 26 June 2015
|archive-url = https://web.archive.org/web/20150626074129/http://www.nostarch.com/qt4.htm
|url-status = dead
}}
}}
*{{Citation
* {{cite book
| first1 = Matthias
|last = Thelin
| last1 = Dalheimer
|first = Johan
| title = Programming with Qt
|title = Foundations of Qt Development
| edition = 2nd
|edition = 1st
| date = January 2002
|date = 3 August 2007
| publisher = [[O'Reilly Media]]
|publisher = [[Apress]]
| pages = 512
|isbn = 978-1-59059-831-3
|url = https://www.apress.com/9781590598313/
| isbn = 978-0596000646
|access-date = 18 June 2015
| url = http://oreilly.com/catalog/9780596000646/
|archive-url = https://web.archive.org/web/20150120021243/http://www.apress.com/9781590598313
|archive-date = 20 January 2015
|url-status = dead
}}
}}
*{{Citation
* {{cite book
| first1 = Alan
|last = Dalheimer
| last1 = Ezust
|first = Matthias
|title = Programming with Qt
| first2 = Paul
| last2 = Ezust
|edition = 2nd
|date = January 2002
| title = An Introduction to Design Patterns in C++ with Qt 4
|publisher = [[O'Reilly Media]]
| edition = 1st
| date = September 10, 2006
|isbn = 978-0-596-00064-6
|url = https://archive.org/details/programmingwithq00dalh
| publisher = [[Prentice Hall]]
|url-access = registration
| pages = 656
}}
| isbn = 978-0131879058
* {{cite book
| url = http://www.informit.com/store/product.aspx?isbn=0131879057
|last1 = Ezust
|first1 = Alan
|last2 = Ezust
|first2 = Paul
|title = An Introduction to Design Patterns in C++ with Qt 4
|edition = 2nd
|date = 10 September 2006
|publisher = [[Prentice Hall]]
|isbn = 978-0-13-187905-8
|url = https://www.ics.com/design-patterns
}}
}}
{{Refend}}
{{Refend}}


==External links==
== References ==
{{reflist}}

== External links ==
{{Commons category|Qt}}
{{Commons category|Qt}}
{{Wikibooks|Qt}}
{{Wikibooks|Qt}}
* {{Official website|http://qt.nokia.com/}}
* {{official website}}
* {{cite web |url=https://www.youtube.com/watch?v=NbTEVbQLC8s |archive-url=https://ghostarchive.org/varchive/youtube/20211211/NbTEVbQLC8s| archive-date=2021-12-11 |url-status=live|title=The Qt 4 Dance |website=[[YouTube]]|date=11 August 2006 |format=video |access-date=7 September 2015 }}{{cbignore}}
* [http://www.qtcentre.org/ Qt Centre - English community]
* [http://qt.developpez.com/ Qt.Developpez.com - French community]
* [http://www.qt-italia.org/ Qt Italia - Italian community]
* [http://www.qtforum.de/ Qt Forum - German community]
* [http://developer.qt.nokia.com/ Developer Network]
* [http://blog.qt.nokia.com The Qt blog]
* [http://labs.qt.nokia.com/ Qt Labs Blog]
* [http://qt.nokia.com/doc/ Online reference documentation]
* [http://planetqt.org/ Planet Qt]
* [http://qtcentre.org/ Qt Centre]
* [http://qt-apps.org/ Qt-Apps.org], Free Qt applications
* [http://qt-prop.org/ Qt-Prop.org], Proprietary Qt applications
* [http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip C++ GUI Programming with Qt 4/first edition]. The complete book (PDF in a ZIP); suitable for those who can already program in C++, but no GUI programming experience necessary.
* [http://cartan.cas.suffolk.edu/oopdocbook/opensource/index.html An Introduction to Design Patterns in C++ with Qt4]. The full book from a Prentice Hall edition teaching C++ programming from the ground up, using Qt 4.1
* [http://www.2-malware-removal.com/windows-how-to-guide-qtwebkit4-dll-dll-file-and-how-to-fix-qtwebkit4-dll-dll-error/ QtWebKit4.dll DLL File and How to Fix QtWebKit4.dll DLL Error]


{{Qt}}
{{Qt}}
{{KDE}}
{{KDE}}
{{Widget toolkits}}
{{Widget toolkits}}
{{Nokia software}}
{{GUI builders}}


[[Category:Qt (software)| ]]
{{DEFAULTSORT:Qt (Toolkit)}}
[[Category:Qt (toolkit)]]
[[Category:1995 software]]
[[Category:Application programming interfaces]]
[[Category:Articles with example C++ code]]
[[Category:C++ libraries]]
[[Category:Cross-platform software]]
[[Category:Cross-platform desktop-apps development]]
[[Category:Formerly proprietary software]]
[[Category:Free computer libraries]]
[[Category:Free software programmed in C++]]
[[Category:KDE]]
[[Category:KDE]]
[[Category:Software using the LGPL license]]
[[Category:Widget toolkits]]
[[Category:Widget toolkits]]
[[Category:X-based libraries]]
[[Category:X-based libraries]]
[[Category:Free development toolkits and libraries]]
[[Category:Embedded Linux]]
[[Category:Free software programmed in C++]]
[[Category:Formerly proprietary software]]
[[Category:Application programming interfaces]]
[[Category:Cross-platform software]]
[[Category:S60 (software platform)]]
[[Category:C++ libraries]]
[[Category:Articles with example C++ code]]
[[Category:1992 software]]

[[ar:كيوت]]
[[ca:Qt]]
[[cs:Qt (knihovna)]]
[[de:Qt (Bibliothek)]]
[[es:Qt (biblioteca)]]
[[eu:Qt]]
[[fa:کیوت]]
[[fr:Qt]]
[[ko:Qt (툴킷)]]
[[hi:क्यूट]]
[[id:Qt toolkit]]
[[it:Qt (toolkit)]]
[[he:Qt (ערכת כלים)]]
[[lt:Qt]]
[[hu:Qt]]
[[ml:ക്യൂട്ടി]]
[[nl:Qt-toolkit]]
[[ja:Qt]]
[[no:Qt]]
[[nn:Qt]]
[[pl:Qt]]
[[pt:Qt]]
[[ro:Qt]]
[[ru:Qt]]
[[sl:Qt]]
[[sr:Qt]]
[[fi:Qt]]
[[sv:Qt]]
[[th:คิวต์]]
[[tr:Qt (Çalışma Alanı)]]
[[uk:Qt]]
[[vi:Qt]]
[[zh:Qt]]

Latest revision as of 16:34, 3 December 2024

Qt
Original author(s)Haavard Nord and Eirik Chambe-Eng[1]
Developer(s)
Initial release20 May 1995; 29 years ago (1995-05-20)[1]
Stable release
6.8.1[2] Edit this on Wikidata / 2 December 2024; 17 days ago (2 December 2024)
Repository
Written inC++ (C++17)
Operating systemAndroid, iOS, Linux (embedded, Wayland, X11), macOS, Microsoft Windows, WebAssembly, ...[3]
PlatformCross-platform
TypeCross-platform software and Software development tools
License
Websitewww.qt.io

Qt /ˈkjuːt/ or /ˈkjuː ˈtiː/ (pronounced "cute"[7][8] or as an initialism) is a cross-platform application development framework for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

Qt is currently being developed by The Qt Company, a publicly listed company, and the Qt Project under open-source governance, involving individual developers and organizations working to advance Qt.[9][10][11] Qt is available under both commercial licenses[4] and open-source[12] GPL 2.0, GPL 3.0, and LGPL 3.0 licenses.[5][6]

Purposes and abilities

[edit]

Qt is used for developing graphical user interfaces (GUIs) and multi-platform applications that run on all major desktop platforms and mobile or embedded platforms. Most GUI programs created with Qt have a native-looking interface, in which case Qt is classified as a widget toolkit. Non-GUI programs can also be developed, such as command-line tools and consoles for servers. An example of such a non-GUI program using Qt is the Cutelyst web framework.[13]

Qt supports various C++ compilers, including the GCC and Clang C++ compilers and the Visual Studio suite. It supports other languages with bindings or extensions, such as Python via Python bindings[14] and PHP via an extension for PHP5,[15] and has extensive internationalization support. Qt also provides Qt Quick, that includes a declarative scripting language called QML that allows using JavaScript to provide the logic. With Qt Quick, rapid application development for mobile devices became possible, while logic can still be written with native code as well to achieve the best possible performance.

Other features include SQL database access, XML parsing, JSON parsing, thread management and network support.

Releases

[edit]

The latest version of the Qt Framework is Qt 6.8, which was released on October 8, 2024.[16]

Also still supported are — for commercial users — 6.5 LTS, released on April 3, 2023, 6.2 LTS,[17] released on 30 September 2021, and 5.15 LTS, released on 26 May 2020 – long-term support (LTS) versions are generally supported for three years with a commercial license, while 5.15 support was extended to five years for subscription license holders, and so it is supported until 26 May 2025. Additionally the KDE project provides unofficial support for, at least, Qt 5.15, i.e. not just for commercial users.

Qt in use

[edit]

In 2017, the Qt Company estimated a community of about 1 million developers worldwide[18] in over 70 industries.[19]

Desktop UIs

[edit]
KDE's mascot Konqi

Graphical user-interfaces and desktop environments that utilize Qt/QML as widget toolkit:

Embedded and mobile UIs

[edit]
  • Actively developed or maintained
    • AsteroidOS, an open source operating system designed for smartwatches
    • Avionics, Panasonic's in-flight entertainment system[30][31]
    • Sailfish OS, a mobile operating system developed by Jolla
    • Plasma Mobile, a touch-based GUI developed by KDE
    • LuneOS, community-driven successor for Palm/HP webOS
    • Nemo Mobile, based on Mer
    • Lomiri, formerly known as Unity8, a phone UI developed by Ubports, originally by Canonical
    • Tesla Model S in-car UI[32]
    • webOS, a multitask operating system from LG for smart devices like TVs and smartwatches
    • Sky Q, the home entertainment system of Sky plc[33]
  • Available, but inactive
    • MeeGo handset and tablet UX
    • Qtopia, a system by Nokia for embedded and mobile devices

Applications using Qt

[edit]

Many notable open-source or proprietary cross-platform software are using Qt or QML:

Organizations using Qt

[edit]

Qt is utilized by a wide range of companies and organizations such as

Qt software architecture

[edit]
Example of Qt usage in Linux-based systems

Qt concepts

[edit]

Qt is built on these key concepts:

Complete abstraction of the GUI
When first released, Qt used its own paint engine and controls, emulating the look of the different platforms it runs on when it drew its widgets. This made the porting work easier because very few classes in Qt really depended on the target platform; however, this occasionally led to slight discrepancies where that emulation was imperfect. Recent versions of Qt use the native style APIs of the different platforms, on platforms that have a native widget set, to query metrics and draw most controls, and do not suffer from such issues as often.[89] On some platforms (such as MeeGo and KDE) Qt is the native API. Some other portable graphical toolkits have made different design decisions; for example, wxWidgets uses the toolkits of the target platform for its implementations.
Signals and slots
A language construct introduced in Qt for communication between objects[90] which makes it easy to implement the observer pattern while avoiding boilerplate code. The concept is that GUI widgets can send signals containing event information which can be received by other controls using special functions known as slots.
Metaobject compiler
The metaobject compiler, termed moc, is a tool that is run on the sources of a Qt program. It interprets certain macros from the C++ code as annotations, and uses them to generate added C++ code with meta information about the classes used in the program. This meta information is used by Qt to provide programming features not available natively in C++: signals and slots, introspection and asynchronous function calls.
Language bindings
Qt can be used in several programming languages other than C++, such as Python, Javascript, C# and Rust[91] via language bindings; many languages have bindings for Qt 5 and bindings for Qt 4.

Qt modules

[edit]

Starting with Qt 4.0 the framework was split into individual modules.[92][93] With Qt 5.0 the architecture was modularized even further.[94][95] Qt is now split into essential and add-on modules.[96]

Qt essentials

[edit]
Module Description
Qt Core The only required Qt module, containing classes used by other modules, including the meta-object system, concurrency and threading, containers, event system, plugins and I/O facilities.
Qt GUI The central GUI module. In Qt 5 this module now depends on OpenGL, but no longer contains any widget classes.
Qt Widgets Contains classes for classic widget based GUI applications and the QSceneGraph classes. Was split off from QtGui in Qt 5.
Qt QML Module for QML and JavaScript languages.
Qt Quick The module for GUI applications written using QML2.
Qt Quick Controls Widget like controls for Qt Quick intended mainly for desktop applications.
Qt Quick Layouts Layouts for arranging items in Qt Quick.
Qt Network Network abstraction layer. Complete with support for TCP, UDP, HTTP, TLS, SSL (in Qt 4) and SPDY (since Qt 5.3).
Qt Multimedia Classes for audio, video, radio and camera functionality.
Qt Multimedia Widgets The widgets from Qt Multimedia.
Qt SQL Contains classes for database integration using SQL.
Qt WebEngine A new set of Qt Widget and QML webview APIs based on Chromium.
Qt Test Classes for unit testing Qt applications and libraries.

Qt add-ons

[edit]
Module Description
Active Qt Classes for applications which use ActiveX.
Qt Charts Provides functionality and widgets to plot charts of many kinds
Qt Bluetooth Classes accessing Bluetooth hardware.
Qt D-Bus Classes for IPC using the D-Bus protocol.
Qt NFC Classes accessing NFC hardware. Only officially supported on BlackBerry hardware so far (or N9 in the MeeGo port).
Qt OpenGL Legacy module containing the OpenGL classes from Qt 4. In Qt 5 the similar functionality in Qt GUI is recommended.
Qt Location Classes for accessing GPS and other location services and for mapping and navigation. Split off from the Qt 4 Mobility module of Qt Location. Supported on Android, BlackBerry, iOS, Linux (using GeoClue), Windows and Sailfish OS.
Qt Quick 3D Classes for rendering 3D models, video games, simulations and 3D user interfaces, with a Qt QML API, into a mixed 2D and 3D scene graph.
Qt Script Legacy module for scripting Qt application using ECMAScript/JavaScript. In Qt 5, using similar classes in Qt QML is recommended.
Qt Sensors Classes for accessing various mobile hardware sensors. Used to be part of Qt Mobile in Qt 4. Supported on Android, BlackBerry, iOS, WinRT, Mer and Linux.
Qt Serial Port Classes for access to hardware and virtual serial ports. Supported on Windows, Linux and macOS.
Qt WebChannel Provides access to Qt objects to HTML/Js over WebSockets.
Qt WebKit Qt's WebKit implementation and API.
Qt WebKit Widgets The widget API for Qt WebKit
Qt WebSockets Provides a WebSocket implementation.
Qt XML Legacy module containing classes for SAX and DOM style XML APIs. Replaced with QXmlStreamReader and QXmlStreamWriter classes in Qt Core.
Qt XML Patterns Support for XPath, XQuery, XSLT and XML Schema validation.

Editions

[edit]

There are four editions of Qt available: Community, Indie Mobile, Professional and Enterprise.[97] The Community version is under the open source licenses, while the Indie Mobile, Professional and Enterprise versions, which contain additional functionality and libraries, e.g. Enterprise Controls[97] are commercially sold by The Qt Company.

Supported platforms

[edit]

Qt works on many different platforms; the following are officially supported:

Platform Description
Linux/Unix
X11 Qt for X Window System (Linux);[98] FreeBSD, NetBSD, OpenBSD, and DragonFly BSD have community support.
Wayland Qt applications can switch between graphical backends like X and Wayland at load time with the -platform command line option.[99][100] This allows a seamless transition of Qt applications from X11 to Wayland. SailfishOS uses Wayland only as it does not have X11.[101]
Android Qt for Android[102] (formerly known as Necessitas).[103]
Embedded Linux Qt for embedded platforms: personal digital assistant, smartphone, etc.[104] Exists as multiple platforms depending on display technology. DirectFB, LinuxFB and EGLFS (EGL Full Screen).
Microsoft platforms
Windows Qt for Microsoft Windows 7,[105] 8 and 10[106]
Windows RT Support for WinRT-based Windows 10 Mobile apps and Windows 10 IoT[107]
Apple platforms
macOS Qt for Apple macOS; supports applications on Cocoa[108]
iOS Qt for iOS platforms (iPhone, iPad)[109]
Other embedded platforms
Integrity Qt for Integrity[110]
QNX Qt for QNX[111][112]
VxWorks Qt for VxWorks.[113][114] Only available under a proprietary (commercial) license. Qt 5.5.
QT for MCUs QT for MCUs[115]

After Nokia opened the Qt source code to the community on Gitorious, various ports appeared. There are also some ports of Qt that may be available, but are not supported anymore. These platforms are listed in List of platforms supported by Qt. See also there for current community support for other lesser known platforms, such as SailfishOS.

Licensing

[edit]

Qt is available under the following free software licenses:[12] GPL 2.0, GPL 3.0, LGPL 3.0 and LGPL 2.1 (with Qt special exception).[5][116] Note that some modules are available only under a GPL license, which means that applications which link to these modules need to comply with that license.[117]

In addition, Qt has always been available under a commercial license, like the Qt Commercial License,[4] that allows developing proprietary applications with no restrictions on licensing.

Qt tools

[edit]

Qt comes with its own set of tools to ease cross-platform development, which can otherwise be cumbersome due to different set of development tools.

Qt Creator is a cross-platform IDE for C++ and QML. Qt Designer's GUI layout/design functionality is integrated into the IDE, although Qt Designer can still be started as a standalone tool.

In addition to Qt Creator, Qt provides qmake, a cross-platform build script generation tool that automates the generation of Makefiles for development projects across different platforms. There are other tools available in Qt, including the Qt Designer interface builder and the Qt Assistant help browser (which are both embedded in Qt Creator), the Qt Linguist translation tool, uic (user interface compiler), and moc (Meta-Object Compiler).

History of Qt

[edit]

Early developments

[edit]

In the summer of 1990, Haavard Nord and Eirik Chambe-Eng (the original developers of Qt and the CEO and President, respectively, of Trolltech) were working together on a database application for ultrasound images written in C++ and running on Mac OS, Unix, and Microsoft Windows.[1][118] They began development of "Qt" in 1991, three years before the company was incorporated as Quasar Technologies, then changed the name to Troll Tech and then to Trolltech.[1]

The toolkit was called Qt because the letter Q looked appealing in Haavard's Emacs typeface, and "t" was inspired by Xt, the X toolkit.[1]

The first two versions of Qt had only two flavors: Qt/X11 for Unix and Qt/Windows for Windows.

On 20 May 1995 Trolltech publicly released Qt 0.90 for X11/Linux with the source code under the Qt Free Edition License.[119][120][121] This license was viewed as not compliant with the free software definition by Free Software Foundation because, while the source was available, it did not allow the redistribution of modified versions. Trolltech used this license until version 1.45. Controversy erupted around 1998 when it became clear that the K Desktop Environment was going to become one of the leading desktop environments for Linux. As it was based on Qt, many people in the free software movement worried that an essential piece of one of their major operating systems would be proprietary.

The Windows platform was available only under a proprietary license, which meant free/open source applications written in Qt for X11 could not be ported to Windows without purchasing the proprietary edition.

Becoming free software–friendly

[edit]

With the release of version 2.0 of the toolkit in mid-1999, the license was changed to the Q Public License (QPL), a free software license, but one regarded by the Free Software Foundation as incompatible with the GPL. Compromises were sought between KDE and Trolltech whereby Qt would not be able to fall under a more restrictive license than the QPL, even if Trolltech was bought out or went bankrupt. This led to the creation of the KDE Free Qt foundation,[122] which guarantees that Qt would fall under a BSD-style license should no free/open source version of Qt be released during 12 months.[123][124]

In 2000, Qt/X11 2.2 was released under the GPL v2,[125] ending all controversy regarding GPL compatibility.

At the end of 2001, Trolltech released Qt 3.0, which added support for Mac OS X (now known as macOS). The Mac OS X support was available only in the proprietary license until June 2003, when Trolltech released Qt 3.2 with Mac OS X support available under the GPL.

In 2002, members of the KDE on Cygwin project began porting the GPL licensed Qt/X11 code base to Windows.[126] This was in response to Trolltech's refusal to license Qt/Windows under the GPL on the grounds that Windows was not a free/open source software platform.[127][128] The project achieved reasonable success although it never reached production quality.

This was resolved when Trolltech released Qt 4.0 also for Windows under the GPL in June 2005.[129] Qt 4 supported the same set of platforms in the free software/open source editions as in the proprietary edition, so it is possible, with Qt 4.0 and later releases, to create GPL-licensed free/open source applications using Qt on all supported platforms. The GPL v3 with special exception[130] was later added as an added licensing option. The GPL exception allows the final application to be licensed under various GPL-incompatible free software/open source licenses such as the Mozilla Public License 1.1.

Acquisition by Nokia

[edit]

Nokia acquired Trolltech ASA on 17 June 2008 and changed the name first to Qt Software, then to Qt Development Frameworks.

Nokia focused on turning Qt into the main development platform for its devices, including a port to the Symbian S60 platform. Version 1.0 of the Nokia Qt SDK was released on 23 June 2010.[131] The source code was made available over Gitorious, a community oriented git source code repository, with a goal of creating a broader community using and improving Qt.

On 14 January 2009, Qt version 4.5 added another option, the LGPL,[132] to make Qt more attractive for both non-GPL open source projects and closed applications.[133]

In February 2011, Nokia announced its decision to drop Symbian technologies and base their future smartphones on the Windows Phone platform instead (and since then support for that platform has also been dropped).[134] One month later, Nokia announced the sale of Qt's commercial licensing and professional services to Digia, with the immediate goal of taking Qt support to Android, iOS and Windows 8 platforms, and to continue focusing on desktop and embedded development, although Nokia was to remain the main development force behind the framework at that time.

Merging and demerging with Digia

[edit]

In March 2011, Nokia sold the commercial licensing part of Qt to Digia, creating Qt Commercial.[135] In August 2012, Digia announced that it would acquire Qt from Nokia.[136] The Qt team at Digia started their work in September 2012.[137] They released Qt 5.0 within a month and newer versions every six months with new features and additional supported platforms.

In September 2014, Digia transferred the Qt business and copyrights to their wholly owned subsidiary, The Qt Company, which owns 25 brands[138] related to Qt. In May 2016, Digia and Qt demerged completely into two independent companies.[139]

The Qt Project and open governance

[edit]

Qt 5 was officially released on 19 December 2012. This new version marked a major change in the platform, with hardware-accelerated graphics, QML and JavaScript playing a major role. The traditional C++-only QWidgets continued to be supported, but did not benefit from the performance improvements available through the new architecture.[140] Qt 5 brings significant improvements to the speed and ease of developing user interfaces.[141]

Framework development of Qt 5 moved to open governance at qt-project.org, which made it possible for developers outside Digia to submit patches for review.[142]

Qt contributors

[edit]
Distribution of non-Digia Qt contributors (2013, Week 18)

Aside from The Qt Company, many organizations and individuals using Qt as their development platform participate in the open development of Qt via the Qt Project.[143]

One such Qt contributor is Klarälvdalens Datakonsult AB, a Swedish Qt consulting company.[144] KDAB is involved in many areas, including maintenance of several components.[145][146]

Together with RIM/BlackBerry, KDAB is maintaining the QNX and BlackBerry 10 ports of Qt.[143][147]

Another participator is Intel, contributing for example Wayland support.[148] AudioCodes maintains IBM ClearCase support in Qt Creator.[149]

As a heavy user of Qt, the KDE project submits many patches and features from its developer library KDE Frameworks back to Qt.[150]

See also

[edit]

Bibliography

[edit]

Qt Wiki provides a comprehensive list of English books about Qt.[151] This is a list of notable books:

  • Bocklage-Ryannel, Juergen; Thelin, Johan (12 May 2015). "Qt 5 Cadaques" (1st ed.).
  • Blanchette, Jasmin; Summerfield, Mark (14 February 2008). C++ GUI Programming with Qt 4 (2nd ed.). Prentice Hall. ISBN 978-0-13-235416-5.
  • Summerfield, Mark (23 August 2010). Advanced Qt Programming: Creating Great Software with C++ and Qt 4 (1st ed.). Addison-Wesley. ISBN 978-0-321-63590-7.
  • Fitzek, Frank H. P.; Mikkonen, Tommi; Torp, Tony (17 May 2010). Qt for Symbian (1st ed.). Wiley. ISBN 978-0-470-75010-0. Archived from the original on 19 December 2009.
  • Summerfield, Mark (28 October 2007). Rapid GUI Programming with Python and Qt (1st ed.). Prentice Hall. ISBN 978-0-13-235418-9.
  • Molkentin, Daniel (19 July 2007). The Book of Qt 4: The Art of Building Qt Applications (1st ed.). No Starch Press. ISBN 978-1-59327-147-3. Archived from the original on 26 June 2015. Retrieved 18 June 2015.
  • Thelin, Johan (3 August 2007). Foundations of Qt Development (1st ed.). Apress. ISBN 978-1-59059-831-3. Archived from the original on 20 January 2015. Retrieved 18 June 2015.
  • Dalheimer, Matthias (January 2002). Programming with Qt (2nd ed.). O'Reilly Media. ISBN 978-0-596-00064-6.
  • Ezust, Alan; Ezust, Paul (10 September 2006). An Introduction to Design Patterns in C++ with Qt 4 (2nd ed.). Prentice Hall. ISBN 978-0-13-187905-8.

References

[edit]
  1. ^ a b c d e Blanchette, Jasmin; Summerfield, Mark (June 2006). "A Brief History of Qt". C++ GUI Programming with Qt 4 (1st ed.). Prentice-Hall. pp. xv–xvii. Archived from the original on 23 September 2019. Retrieved 5 August 2013.
  2. ^ "Qt 6.8.1 Released". 2 December 2024. Retrieved 2 December 2024.
  3. ^ "Supported Platforms".
  4. ^ a b c "Licenses".
  5. ^ a b c "New agreement with the KDE Free Qt Foundation and changes for the open source version". The Qt Company.
  6. ^ a b "Adding LGPL v3 to Qt". 20 August 2014.
  7. ^ "Qt - About Us". Archived from the original on 22 February 2017.
  8. ^ Ashlee Vance (16 February 2010). "That Smartphone Is So Qt". Retrieved 19 February 2010.
  9. ^ Pintscher, Lydia (21 October 2011). "KDE Applauds Qt's Move to Open Governance". KDE.News. Retrieved 8 May 2013.
  10. ^ Meyer, David (24 October 2011). "Nokia gives Qt open-source governance". ZDNet. Retrieved 8 May 2013.
  11. ^ Knoll, Lars (6 August 2014). "Defragmenting Qt and Uniting Our Ecosystem".
  12. ^ a b "Legal - FAQ - Qt". www.qt.io. The Qt Company. Retrieved 25 April 2019.
  13. ^ "Cutelyst - Home".
  14. ^ "PyQt Documentation". www.riverbankcomputing.com. 27 December 2023.
  15. ^ "PHP-Qt - the Qt extension for php". www.php-qt.org. 10 October 2020. Archived from the original on 12 October 2020. Retrieved 12 October 2020.
  16. ^ Volker Hilsheimer. "Qt 6.8 Released!". www.qt.io.
  17. ^ "Qt 6.2.2 Released". Qt. The Qt Company. 1 December 2021. Retrieved 6 December 2021.
  18. ^ "QT GROUP OYJ - Managers' Transactions, 12/4/2017". 12 April 2017. Retrieved 8 June 2017.
  19. ^ Shneor, Rotem (2012). Handbook of Research on Born Globals, Chapter 10: Born Global Firms, Internet, and New Forms of Internationalization. Edward Elgar. ISBN 9780857938046. Retrieved 8 June 2017.
  20. ^ "The KDE development platform".
  21. ^ Marius Nestor (24 December 2015). "Beautifully Crafted Deepin 15 Linux OS Drops Ubuntu for Debian Sid, RC Out Now". The Deepin desktop environment has been refactored in the latest Qt GUI toolkit, replacing the HTML5 and WebKit frameworks, while Go is still used for the backend.
  22. ^ "深度操作系统 15 RC ——用真心捕获你的芳心 – 深度科技社区". Deepin.org. 23 December 2015. Archived from the original on 17 May 2017. Retrieved 15 June 2017.
  23. ^ Joey Sneddon (5 February 2020). "Wowser, the UKUI 3.0 Desktop Looks Phenomenal (Updated)". omg!ubuntu!.
  24. ^ "OMGUbuntu Review". 11 June 2021.
  25. ^ "Lumina Homepage".
  26. ^ "Lomiri: New name, Same Great Unity8". ubports.com. 12 July 2019.
  27. ^ "Unity8 Code Repository on Github". Github.com. 13 September 2022.
  28. ^ "Review by Tylers Tech channel". YouTube. 6 January 2022.
  29. ^ "About Trinity". www.trinitydesktop.org. Retrieved 25 April 2019.
  30. ^ "X Series Qt-based graphical user interface". Archived from the original on 23 February 2016. Retrieved 14 March 2016.
  31. ^ "Avionics powered by Qt". 17 June 2015.
  32. ^ "Qt Interface". 23 October 2013.
  33. ^ "Sky teams up with The QT Company on Sky Q". 19 April 2016.
  34. ^ Blanchette, Jasmin; Summerfield, Mark (4 February 2008). C++ GUI Programming with Qt4 By Jasmin Blanchette, Mark Summerfield. Pearson Education. ISBN 9780132703000.
  35. ^ Zerfos, Petros; Montanari, Rebecca; Phan, Thomas (11 May 2010). Mobile Computing, Applications, and Services: First International ICST Conference, MobiCASE 2009, San Diego, CA, USA, October 26-29, 2009, Revised Selected Papers, Edited by Petros Zerfos, Rebecca Montanari, Thomas Phan. Springer. ISBN 9783642126062.
  36. ^ Walton, Mark (2 November 2015). "AMD Radeon Software Crimson: A new name and a new look for Catalyst".
  37. ^ "Qt in Autodesk". Archived from the original on 23 July 2011.
  38. ^ "What's New: 3ds Max 2018 SDK". help.autodesk.com. Retrieved 14 June 2019. 3ds Max 2018 now uses Qt 5.6.2, and plug-ins can build UIs in Qt using the standard GPL Qt 5.6.2 distribution, and the Visual Studio 2015 Qt add-on
  39. ^ "Plugin devs: Upcoming migration to Qt 6 - MobileRead Forums".
  40. ^ a b "An update on our Sandbox interface and the Legacy Editor".
  41. ^ "Dogecoin Core [DOGE, Ð]". GitHub.
  42. ^ "Dyami Caliri, Qt Champion 2014".
  43. ^ "Google Earth Includes a Web Browser". Googlesystem.Blogspot.de. 15 June 2010. Retrieved 8 April 2013.
  44. ^ "Krita 3.0 Released". 31 May 2016. Retrieved 5 September 2017.
  45. ^ "Mathematica by Wolfram Research". Archived from the original on 29 May 2013.
  46. ^ "Monero GUI". GitHub. 2 June 2022.
  47. ^ "Orange3 Data Mining Suite". GitHub. 3 June 2022.
  48. ^ "Parallel Data Analysis and Visualization Application based on VTK".
  49. ^ "Qbittorrent". GitHub. 18 February 2022.
  50. ^ "PyQGIS Developer Cookbook: Introduction". qgis.org. Retrieved 1 March 2017. the whole QGIS code depends on Qt libraries
  51. ^ Verzani, John (23 September 2011). Getting Started with RStudio. O'Reilly Media, Inc. p. 4. ISBN 9781449309039.
  52. ^ "Scribus Development".
  53. ^ "Sibelius - the leading music composition and notation software". www.sibelius.com. Retrieved 19 October 2016.
  54. ^ "SoulseekQT Public Build 1". Archived from the original on 12 May 2014. Retrieved 4 January 2024.
  55. ^ "Panorama". Valve Developer Community. Retrieved 28 April 2017.
  56. ^ "Subsurface 4.0 has been released". 15 December 2013. Archived from the original on 12 August 2014. Retrieved 23 March 2016.
  57. ^ "TeamViewer 13". December 2017.
  58. ^ "Telegram desktop messaging app". GitHub. 17 February 2022.
  59. ^ "VBoxMainLogging - Oracle VM VirtualBox".
  60. ^ "Qt Interface".
  61. ^ "Qt Application Framework".
  62. ^ wps-community (14 June 2017). "wps_i18n: KSO/WPS internationalization support". Retrieved 15 June 2017 – via GitHub.
  63. ^ "XnView MP".
  64. ^ "AMD's Radeon Software Crimson Edition". Retrieved 30 June 2016.
  65. ^ "Blizzard's additions/modifications to Qt". GitHub. 28 April 2021.
  66. ^ QtWS16- Qt Creator as BMW Car IT Automotive IDE, Helio Chissini de Castro, BMW Car IT. Archived from the original on 11 December 2021.
  67. ^ "Qt selected for In-Vehicle Infotainment (IVI) Systems by leading automotive OEMs" (Press release).
  68. ^ Built with Qt: Mercedes-Benz Generation EQ. Archived from the original on 11 December 2021.
  69. ^ Behind the Scenes at DreamWorks Animation: Making the Apps that Make the Movies. Archived from the original on 11 December 2021.
  70. ^ UI & System Design Challenges for the NxG Lighting Tool. Archived from the original on 11 December 2021.
  71. ^ "Open Source - Electronic Arts".
  72. ^ "Qt in the European Space Agency". Archived from the original on 23 July 2011.
  73. ^ "10 Qt use cases you didn't know". Archived from the original on 30 July 2013.
  74. ^ "Developing Innovative Desktop and Embedded HP Products with Qt". Archived from the original on 6 May 2014.
  75. ^ Porter, Jon (26 June 2019). "LG tries to bring webOS to cars, robots, and the smart home with new partnership". The Verge. Retrieved 28 April 2020.
  76. ^ "Lucasfilm Entertainment Company Ltd" (Press release).
  77. ^ "Qt in Visual Effects". Archived from the original on 23 July 2011.
  78. ^ "Qt World Summit talk".
  79. ^ "Panasonic selects Qt for HD video system". Archived from the original on 23 July 2011.
  80. ^ "Qt in IP Communications". Archived from the original on 23 July 2011.
  81. ^ "Bosch DruckMessWT built with Qt". January 2019.
  82. ^ "Qt in Home Media". Archived from the original on 23 July 2011.
  83. ^ "Qt helped Siemens deliver a C++ development platform for manufacturing software GUIs". Archived from the original on 14 July 2011.
  84. ^ Fred Lambert (19 May 2018). "Tesla releases some of its software to comply with open source licences".
  85. ^ "TomTom Builds Automotive HMIs with Qt". Retrieved 20 May 2019.
  86. ^ "Qt". Valve Developer Community. Retrieved 28 April 2017.
  87. ^ "Volvo Mobility Systems". Archived from the original on 14 July 2011.
  88. ^ "Qt helped Walt Disney reduce development time spent on its cross-platform feature film production application". Archived from the original on 14 July 2011.
  89. ^ "Library". Digia. Archived from the original on 1 November 2013. Qt uses the native graphics APIs of each platform it supports, taking full advantage of system resources and ensuring that applications have native look and feel.
  90. ^ "Signals & Slots - QtCore 5.1". Qt Project. 4 July 2013. Retrieved 10 April 2015.
  91. ^ "Qt applications with Cargo". www.vandenoever.info. 30 October 2018. Retrieved 25 April 2019.
  92. ^ "Trolltech Releases Qt 4.0". KDE. 28 June 2005. Retrieved 5 August 2013.
  93. ^ "All Modules | Documentation". Qt Project. Archived from the original on 29 March 2013. Retrieved 8 April 2013.
  94. ^ Qt Blog (19 December 2012). "Introducing Qt 5.0 | Qt Blog". Digia. Retrieved 8 April 2013.
  95. ^ Kyle Morris (24 December 2012). "Qt 5.0 - Congratulations to the Qt Project". KDE. Retrieved 5 August 2013.
  96. ^ "Qt 6 Documentation: All Modules". Qt Project. Retrieved 1 December 2022.
  97. ^ a b "Qt Download page". Download Qt. The Qt Company. Retrieved 21 November 2014.
  98. ^ "Qt Wiki – Support for Linux/X11". Qt Project. 24 March 2016. Retrieved 27 July 2019.
  99. ^ "Getting started with Lighthouse". Retrieved 25 November 2011.
  100. ^ Høgsberg, Kristian (25 January 2011). "Add wayland lighthouse plugin". Archived from the original on 3 February 2016.
  101. ^ Lind, Jørgen (18 March 2011). "Multi-process Lighthouse". Qt Project. Retrieved 21 August 2013.
  102. ^ "New Features in Qt 5.1 - Support for New Platforms". Digia. 3 July 2013. Retrieved 10 April 2015.
  103. ^ "Necessitas project". Archived from the original on 20 February 2016. Retrieved 10 April 2015.
  104. ^ "Qt Wiki – Support for Embedded Linux". Qt Project. 12 August 2011. Retrieved 10 April 2015.
  105. ^ "Qt Wiki – Support for Windows". Qt Project. 11 August 2011. Retrieved 11 August 2013.
  106. ^ "Windows 10 Support in Qt". The Qt Company. 29 April 2015. Retrieved 28 January 2016.
  107. ^ "Qt for WinRT". Qt Project. Retrieved 9 September 2014.
  108. ^ "Qt Wiki – Support for OS X". Qt Project. 14 August 2011. Retrieved 21 August 2013.
  109. ^ "Supported Platforms". Retrieved 1 February 2014.
  110. ^ "Qt Product pages, Supported platforms". Qt - Product - Qt Framework. The Qt Company. Retrieved 21 November 2014.
  111. ^ Katherine Barrios (29 November 2011). "Qt Commercial Formally Supports QNX | Qt Blog". Retrieved 13 March 2018.
  112. ^ "Platform and Compiler Notes - QNX | Qt 5.10".
  113. ^ Tuukka Turunen (28 June 2012). "Qt Commercial for VxWorks | Qt Blog". Retrieved 13 March 2018.
  114. ^ "Qt for VxWorks | Qt 5.10".
  115. ^ "Qt for MCUs 2.8.1".
  116. ^ "Digia Qt LGPL Exception version 1.1".
  117. ^ "Qt Licensing". The Qt Company. Retrieved 7 January 2017.
  118. ^ "Qt - Qt20". Qt.
  119. ^ "Qt Free Edition License". Trolltech. 1992. Archived from the original on 14 October 2016. Retrieved 14 October 2016.
  120. ^ "Happy 20th Anniversary Qt!". Qt Blog.
  121. ^ "Qt framework celebrates its 20th anniversary". SD Times. 21 May 2015.
  122. ^ "KDE Free Qt Foundation".
  123. ^ "KDE Free Qt Foundation announcement". June 1998.
  124. ^ "Software License Agreement" (PDF). Digia. 13 April 2013.
  125. ^ "Trolltech offers a choice in licensing with the addition of GPL licensing for the upcoming release of Qt". Qt.nokia.com. Archived from the original on 13 March 2012. Retrieved 13 November 2011.
  126. ^ "Q../Windows Edition history". 5 June 2006. Archived from the original on 31 July 2010.
  127. ^ E-mail to the kde-cygwin mailing list by Chris January, 4 February 2003
  128. ^ "Qt Non-commercial FAQ". Trolltech. Archived from the original on 5 October 2003.
  129. ^ "Trolltech Releases Qt 4.0 | KDE.news". KDE.News. 28 June 2005. Retrieved 13 November 2011.
  130. ^ "Nokia Corporation Qt GPL Exception Version 1.3". Doc.trolltech.com. 22 July 1999. Archived from the original on 3 October 2010. Retrieved 13 November 2011.
  131. ^ Weber, Niels (23 June 2010). "Nokia Qt SDK 1.0 released". Labs.trolltech.com. Retrieved 13 November 2011.
  132. ^ Nyström, Sebastian (14 January 2009). "Nokia to license Qt under LGPL". Retrieved 17 September 2013.
  133. ^ "ICS Whitepaper on the Implications of Qt under LGPL for Commercial and Government users" (PDF). Retrieved 13 November 2011.
  134. ^ "Nokia and Microsoft Announce Plans for a Broad Strategic Partnership to Build a New Global Mobile Ecosystem" (Press release). Microsoft. 10 February 2011. Archived from the original on 1 April 2011. Retrieved 27 October 2011.
  135. ^ Nystrom, Sebastian (7 March 2011). "Nokia and Digia working together to grow the Qt community". Retrieved 8 July 2011.
  136. ^ Digia Plc (9 August 2012). "Digia to acquire Qt from Nokia". Digia Plc. Retrieved 17 October 2014.
  137. ^ Digia Plc (18 September 2012). "The journey starts today". Digia Plc. Retrieved 17 October 2014.
  138. ^ "TMview search result shown on September 12th, 2016". TMDN.org. Retrieved 15 June 2017.
  139. ^ "Digia and Qt have demerged into two companies – Digia's new strategy's main themes revealed". Digia. Archived from the original on 17 June 2017. Retrieved 15 June 2017.
  140. ^ "Concern about removal of QWidget classes". Qt5-feedback (Mailing list). 7 October 2011.
  141. ^ Knoll, Lars (9 May 2011). "Thoughts about Qt 5". Digia. Retrieved 9 May 2011.
  142. ^ Knoll, Lars (21 October 2011). "The Qt Project is live!". Nokia. Retrieved 8 February 2012.
  143. ^ a b Macieira, Thiago. "Qt Project Statistics". Thiago Macieira's blog. Macieira.org. Retrieved 8 May 2013.
  144. ^ "contributions to Qt 5.0 (part 1)". KDAB. 20 December 2012. Retrieved 8 May 2013.
  145. ^ "contributions to Qt 5.0 (part 2)". KDAB. 21 December 2012. Retrieved 8 May 2013.
  146. ^ "Maintaining Qt3D". KDAB. 21 December 2012. Retrieved 8 May 2013.
  147. ^ "Qt5 on the QNX operating system". KDAB. 19 April 2012. Retrieved 8 May 2013.
  148. ^ "[Phoronix] Qt Is Now Drawing On Wayland". Phoronix.com. 21 September 2010. Retrieved 8 May 2013.
  149. ^ "Maintainers | Qt Wiki". Qt Project. 12 April 2013. Retrieved 8 May 2013.
  150. ^ "Frameworks/Epics/Contributions to Qt5". KDE Community Wiki. Retrieved 27 April 2015.
  151. ^ "Books - Qt Wiki". wiki.Qt.io. Retrieved 15 June 2017.
[edit]