A Qt6 / QML application template, with a full set of visual controls, helper modules, as well as build and deploy scripts and CI setups.
You will need a C++17 compiler and Qt 6.7+.
For macOS and iOS builds, you'll need Xcode (15+) installed.
For windows builds, you'll need MSVC 2019 (or 2022) installed.
For Android builds, you'll need the appropriates JDK (17) SDK (28+) and NDK (26b+). You can customize Android build environment using the assets/android/gradle.properties
file.
- Linux
- macOS 11+
- Windows 10+
- Android 8+
- iOS 14+
Qt 6.8 brings big changes and hard platform requirements, so I took this "opportunity" to modernize this template a bit. Let's embrace breaking everything! Again.
QmlAppTemplate is now cmake only. Maintaining both cmake and qmake variants of many things was just too much work, and both sides were suffering of less than ideal support. Qt 6 is geared toward cmake, and latest Qt 6 releases are introducing even more tighly coupled features and tooling requirements anyway.
$ git clone https://github.com/emericg/QmlAppTemplate.git --recursive
$ cd QmlAppTemplate/
$ cmake -B build/
$ cmake --build build/
To build for Android and iOS, you should use the qt-cmake script from your Qt installation.
$ /path/to/Qt/bin/qt-cmake -B build/
$ cmake --build build/
AppUtils Various general purpose helpers
MobileUI Interact with Android and iOS UI
MobileSharing Use Android and iOS cross application sharing features
SingleApplication Keep only one instance of your desktop application active at a time
TODO
TODO
Linux application ZIP and AppImage
macOS application ZIP (unsigned)
Windows application ZIP and NSIS installer
These files are also useful to get an idea about the whole build and deploy process.
Desktop (cmake) Linux, macOS and Windows workflow
Mobile (cmake) Android and iOS workflow (with store deployment)
Linux flatpak "on demand" workflow
QmlAppTemplate is released under the terms of the MIT license.
Emeric Grange [email protected]
-
AppUtils uses MIT license
-
MobileUI uses MIT license
-
MobileSharing uses MIT license
-
SingleApplication uses MIT license
-
ComponentLibrary uses MIT license
-
IconLibrary uses a combinaison of licenses, see COPYING