Qt
From Lost In Wonderlands
Contents
- 1 Qt
- 1.1 See also
- 1.2 Qt
- 1.2.1 the Qt C++ Framework
- 1.2.2 Qt versions
- 1.2.3 Qt Releases
- 1.2.4 QML
- 1.2.5 Qt Quick
- 1.2.6 Qt Quick 2
- 1.2.7 Qt for Python
- 1.2.8 Qt for Web Assembly
- 1.2.9 Qt 3D
- 1.2.10 Qt Creator
- 1.2.11 Qt 3D Studio
- 1.2.12 Qt Design Studio
- 1.2.13 Qt tools
- 1.2.14 Qt and Yocto
- 1.2.15 Qt on Raspberry Pi
- 1.2.16 Qt On Arduino
- 1.2.17 Qt on Beagle Board
- 1.2.18 Qt Third Party Libraries
- 1.3 Building Qt
- 1.4 Qt Topics
- 1.4.1 C++
- 1.4.2 type casting
- 1.4.3 QMetaType & QVariant
- 1.4.4 API Design
- 1.4.5 Classes
- 1.4.6 Layouting
- 1.4.7 QThread
- 1.4.8 Containers
- 1.4.9 QML & Qt Quick
- 1.4.10 Internationalization and localisation
- 1.4.11 Optimizing Qt
- 1.4.12 Testing Qt
- 1.4.13 Deploying Qt apps
- 1.4.14 QT versions
- 1.4.15 Qt troubleshouting
- 1.5 Third Parties Libraries
- 1.6 Open Source Project
- 1.7 Blogs
- 1.8 Qt Books
- 1.9 Qt webinars
- 1.10 Qt sample codes
- 1.11 Qt Tutorials
Qt
Everything You Always Wanted to Know on Qt... (But Were Afraid to Ask) a collection of links of interest
See also
Qt
Qt , "cute" , is a C++ framework inspired by NextStep and its Objective C Originally created by Trolltech, bought by Nokia , resold to Digia was the framework for the Green Phone, for Nokia Maemo, Meego, Sailfish OS Crossplatform ( QNx, RTOS, WxWork, GNU/Linux, Max OS X, Windows, Android, iOS) https://www.qt.io/developers/ https://www.qt.io/download/ http://doc.qt.io/qt-5/embedded-linux.html http://doc.qt.io/qtcreator/index.html http://doc.qt.io/qtcreator/creator-design-mode.html http://doc.qt.io/qt-5/internationalization.html http://doc.qt.io/qtcreator/creator-debugging.html https://www.qt.io/programming-with-qt-for-desktop-training/ https://www.qt.io/organizer/the-qt-company-ics/ https://www.qt.io/service-partners/
the Qt C++ Framework
Qt versions
- Qt 5.9, LTS, http://doc.qt.io/qt-5/
- [qt-5-12-lts https://blog.qt.io/blog/2019/01/11/qt-5-12-lts-road-faster-qml-application-startup/, Qt 5.12]
- Qt 5.14
Qt Releases
QML
Qt Quick
- https://blog.qt.io/blog/tag/qt-quick-designer/
- https://www.ics.com/learning/training/implementing-modern-apps-qt-quick
Qt Quick 2
Qt for Python
- https://doc.qt.io/qtforpython/?hsCtaTracking=fab9e910-0b90-4caa-b6d0-e202692b6f13%7Cb9e0be8d-1d85-4644-aaa2-41de4e6d37e3
- https://doc.qt.io/qtforpython/contents.html
- https://blog.qt.io/blog/category/qt-for-python/
Qt for Web Assembly
Qt 3D
Qt Creator
Qt Creator Manual
Qt 3D Studio
Qt 3D Studio Manual
Qt Design Studio
Qt Design Studio Manual
Qt Resources system
Qt tools
Qt and Yocto
- https://blog.qt.io/blog/2018/11/30/use-qt-lite-yocto/
- https://blog.qt.io/blog/2018/12/14/create-qbsps-yocto-builds/
- https://blog.qt.io/blog/category/yocto/
- http://code.qt.io/cgit/yocto/meta-boot2qt.git/
- https://blog.qt.io/blog/2018/11/30/qt-lite-updates-yocto-based-embedded-linux-users/
- https://www.yoctoproject.org/
Qt on Raspberry Pi
Qt On Arduino
- http://grimaldi.univ-tln.fr/developpement-dapplications-arduino-avec-qtcreator.html
- https://forum.arduino.cc/index.php?topic=157883.0
- https://blog.jayway.com/2011/09/22/using-qtcreator-for-arduino-development/
- https://stackoverflow.com/questions/24415243/connect-arduino-with-qt
Qt on Beagle Board
- http://beagleboard.org/
- http://www.angstrom-distribution.org/
- https://www.yoctoproject.org/
- https://wiki.qt.io/Qt_on_the_BeagleBoard
Qt Third Party Libraries
Building Qt
kits
cmake
- https://doc.qt.io/qtcreator/creator-project-creating.html
- cmake, http://florian-goujeon.developpez.com/cours/cmake/initiation/
- https://cmake.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file
- Utiliser CMake pour compiler des projets Qt, http://qt-quarterly.developpez.com/qq-34/cmake/
- Settingup CMake, http://doc.qt.io/qtcreator/creator-project-cmake.html
- using Cmake BuildSystem http://doc.qt.io/qtcreator/creator-project-cmake.html
- https://cmake.org/cmake/help/v3.12/manual/cmake-qt.7.html
- https://stackoverflow.com/questions/49478625/qt-how-to-write-a-findxxx-cmake-file-for-a-certain-qt-library
- https://pastebin.com/Ems1tzSH
- https://www.kdab.com/wp-content/uploads/stories/KDAB-whitepaper-CMake.pdf
- https://www.qt.io/blog/qt-6-build-system
- https://www.qt.io/blog/2019/08/07/technical-vision-qt-6
- https://wiki.qt.io/CMake_Port
- https://forum.qt.io/topic/117660/cmake-vs-qmake-which-is-better-to-use-for-new-project
sample projets:
* https://github.com/lxde/lxqt-build-tools/blob/master/CHANGELOG * https://www.developpez.net/forums/d1048647/c-cpp/bibliotheques/qt/bases-donnees/qxorm/version-courante-qxorm-1-4-4-qxentityeditor-1-2-2-a/
qmake
specifying includes paths
* https://forum.qt.io/topic/31662/how-to-correctly-add-include-path
Qt Topics
C++
- CPlusPlus
- Qt and C++ 11
- Qt and C++ 14
- Qt and C++ 17
- Qt and C++ 20
type casting
- C++ type Casting
- https://en.wikipedia.org/wiki/Type_conversion
- https://en.wikipedia.org/wiki/Static_cast
- https://en.wikipedia.org/wiki/Type_punning
- https://fr.wikipedia.org/wiki/Dynamic_cast
- https://openclassrooms.com/courses/c-les-conversions-de-types
- https://stackoverflow.com/questions/28002/regular-cast-vs-static-cast-vs-dynamic-cast
- Qt Type Casting
QMetaType & QVariant
API Design
- API Design with QT, https://doc.qt.io/archives/qq/qq13-apis.html
Classes
Layouting
- Trading Height for Width, Jasmine Blanchette, https://doc.qt.io/archives/qq/qq04-height-for-width.html
QThread
- QThread usage
- QThread and Future
Containers
- https://doc.qt.io/archives/qq/qq19-containers.html
- https://en.wikipedia.org/wiki/Red%E2%80%93black_tree
QML & Qt Quick
See Also QML
- https://doc.qt.io/qt-5/qtqml-index.html
- https://qt.developpez.com/doc/4.7/qdeclarativeintroduction/
- http://tvaira.free.fr/dev/qt/cours-qml.pdf
- https://www.scriptol.fr/programmation/qml.php
Internationalization and localisation
Qt Internationalization
- https://blog.qt.io/blog/category/internationalization/
- http://doc.qt.io/qt-5/internationalization.html
- https://wiki.qt.io/QtInternationalization
- http://qt-quarterly.developpez.com/qq-03/le-chef-suedois/
- https://doc.qt.io/archives/qq/qq03-swedish-chef.html
Qt Localization
Optimizing Qt
- qt oriented cpp static analysis, http://kdab.developpez.com/tutoriels/clazy/cpp-static-analysis/
- QString and QStringBuilder, http://blog.qt.io/blog/2011/06/13/string-concatenation-with-qstringbuilder/
Testing Qt
Deploying Qt apps
deploying plugins
on windows
on Apple Platforms (macOS iOS, iPadOS, tvOS, watchOS)
- https://developer.apple.com/xcode/
- https://doc.qt.io/qt-5/macos.html
- building for Apple Platforms (macOS iOS, iPadOS, tvOS, watchOS) require Xcode to be installed but it Actually uses only Xcode command line tools so :
- how to build with Xcode command line only
on iOS
- https://doc.qt.io/qt-5/ios.html
- https://doc.qt.io/qt-5/examples-ios.html
- https://doc.qt.io/qt-5/porting-to-ios.html
- articles
- https://medium.com/@shigmas/my-experience-building-an-app-for-android-and-ios-with-qt-5d4a63ab7d6
- https://stackoverflow.com/questions/62667448/c-qt-application-on-android-and-ios
- https://qt.developpez.com/actu/63087/Qt-5-2-Beta-propose-un-support-complet-d-Android-et-iOS-ainsi-que-des-modules-pour-l-acces-a-des-fonctionnalites-natives/
- videos
- on iPadOS
- on tvOS
- on watchOS
on GNU/Linux
- on Ubuntu
on Android
- https://doc.qt.io/qt-5/android.html
- https://doc.qt.io/qt-5/android-getting-started.html
- https://doc.qt.io/qt-5/examples-android.html
- videos
- articles
- https://www.younup.fr/blog/une-nouvelle-version-de-qml-encore-plus-puissante
- http://tvaira.free.fr/dev/qt-android/qt-android-installation.html
- https://imikado.developpez.com/tutoriels/qml-javascript/ma-premiere-application-1/
- https://medium.com/@shigmas/my-experience-building-an-app-for-android-and-ios-with-qt-5d4a63ab7d6
- on webOS
- on webOS TV
- on tizen
- on QNX
QT versions
Qt 5.12.x
QT 5.13.x
- Replace qMin, qMax with std::min, std::max , they were deprecated and now removed
Qt 5.15 LTS
- last 5 version of Qt before the 6th series
- https://wiki.qt.io/Qt_5.15_Release
Qt 6
- qt 6 release date
- https://wiki.qt.io/New_Features_in_Qt_6.0
- https://www.qt.io/product/qt6
- https://qt.developpez.com/actu/272806/Qt-6-une-vision-technique-proposee-par-Lars-Knoll-Cplusplus17-au-programme-Qt-Quick-pourrait-se-passer-de-JavaScript/
- https://www.infoq.com/news/2020/12/qt-6-released/
Qt 6.2
- will be the first usable Qt6.X release as it will be the most fulfilled in terms of supported components
Qt troubleshouting
installer issue
in case the Qt Installer is warning about a non-up-to-date licensing issue or an incompatible one , you need to delete license files
- on windows
- "C:/Users/%USERNAME%/AppData/Roaming/Qt/qtlicenses.ini"
- "C:/Users/%USERNAME%/AppData/Roaming/Qt/qtaccount.ini"
- on macOS
- on Ubuntu
then in the installer that is still warning at launch about licensing issues simply press next button to passe it QTBUG-60543
Qt Creator Issues
- QML QmlDesigner and QmlProfiler plugins not loaded
Third Parties Libraries
- Inqlude.org, https://inqlude.org
- a collection of librairies available for Qt
Open Source Project
- https://github.com/yevgeniy-logachev/QtAdMob
- https://github.com/Larpon/QtFirebase
- https://github.com/semlanik/qtprotobuf
- https://github.com/benlau/qsyncable
- https://github.com/toni1991/QtMqtt
- http://communi.github.io/
- https://github.com/qyvlik/HttpRequest
- https://github.com/qtrest/qtrest
- https://github.com/wang-bin/QtAV
- https://github.com/longwei/qmlvideo
- https://github.com/KDE/kamoso
- https://webvfx.rectalogic.com/
- https://github.com/Skycoder42/QtRestClient
- https://github.com/Skycoder42/QtJsonSerializer
- https://github.com/Instand/SolarSystem
- https://github.com/evonove/qnite
https://github.com/mzafers/QtVlcMediaPlayer
- https://github.com/FalsinSoft/QtAndroidTools
- https://github.com/benlau/quickandroid
- https://github.com/benlau/androidnative.pri
Blogs
KDAB
ICS
- https://www.ics.com/
- ICS on Github, https://github.com/search?utf8=%E2%9C%93&q=ICS&type=
- https://www.ics.com/tag/c
- https://www.ics.com/learning/training/design-patterns-c
- https://www.ics.com/learning/training/object-oriented-programming-c
Blogs
- C++, Qt, OpenGL, CUDA, http://guillaume.belz.free.fr/doku.php
- https://www.ionos.com/digitalguide/server/know-how/qt/
Qt Documentation
Qt Books
- https://www.ics.com/design-patterns
- http://www.allitebooks.com/game-programming-using-qt-beginners-guide/
- http://www.allitebooks.com/qt5-c-gui-programming-cookbook/
- http://www.allitebooks.com/introduction-to-design-patterns-in-c-with-qt-2nd-edition/
- http://www.allitebooks.com/introduction-to-python-programming-and-developing-gui-applications-with-pyqt/
Qt webinars
Qt sample codes
Qt Tutorials
- https://openclassrooms.com/courses/programmez-avec-le-langage-c/introduction-a-qt
- https://www.youtube.com/watch?v=6KtOzh0StTc
- https://www.pluralsight.com/courses/introduction-qt-cplusplus-framework?aid=7010a000002BWqGAAW&promo=&oid=&utm_source=google&utm_medium=ppc&utm_campaign=EMEA_Dynamic&utm_content=&utm_term=&gclid=CKDY6an20NQCFe4Q0wodhAQAHQ
- http://docplayer.fr/29518644-Interface-utilisateur-graphique-gui.html
- https://www.cleanqt.io/blog/crash-course-in-qt-for-c%2B%2B-developers,-part-1
- https://www.cleanqt.io/blog/crash-course-in-qt-for-c%2B%2B-developers,-part-2
- https://www.cleanqt.io/blog/crash-course-in-qt-for-c%2B%2B-developers,-part-3
- https://www.cleanqt.io/blog/crash-course-in-qt-for-c%2B%2B-developers,-part-4
- https://www.cleanqt.io/blog/crash-course-in-qt-for-c%2B%2B-developers,-part-5
- https://www.cleanqt.io/blog/crash-course-in-qt-for-c%2B%2B-developers,-part-6
- https://www.cleanqt.io/blog/crash-course-in-qt-for-c%2B%2B-developers,-part-7