The Felgo QML Hot Reload release 1.4.0 brings full QML modules support. It also makes the project integration easier and adds several QML Hot Reload improvements. Read on to check out all of the updates below:
- Use QML Hot Reload for modules without changing the module setup
- Improved Project Integration
- More Improvements in Felgo Hot Reload 1.4.0
- Update & Find out more about Felgo Hot Reload
QML Module Support: New Project Configuration
You no longer need to make changes to your QML modules when adding Felgo QML Hot Reload. In previous versions you had to change the module definition or change the project structure. Instead, you can now add project specific module configurations with a hot_reload_config.json file.
The configuration file specifies the module setup for all your target devices and Qt versions. You can configure the following settings:
- qml_module_paths: A list of paths to QML modules that should be reloaded. It is best to have the QML sources in a folder structure that reflects the plugin import URI. You can configure the module source directory and the path where the Felgo QML Hot Reload cache stores it.
- qml_plugin_paths: A list of paths to QML module binaries that should be loaded. You can configure the binary directory and the path where the Felgo QML Hot Reload cache stores it. You can also configure plugin paths for specific platforms, compilers or Qt versions.
Let's assume you have a module defined in the qml/components source directory. The module uses the Felgo.UI.Components URI. Both MSVC and GCC builds can use the following configuration file:
{
"main_qml_file": "qml/Main.qml",
"qml_module_paths": [
"qml",
{
"path": "qml/components",
"target_path": "Felgo/UI/Components"
}
],
"qml_plugin_paths": [
{
"path": "build/gcc64_debug/Felgo/UI/Components",
"target_path": "Felgo/UI/Components",
"platform": "linux",
"compiler": "gcc_64",
"qt_version": "6.5.3"
},
{
"path": "build/x64_debug/Felgo/UI/Components",
"target_path": "Felgo/UI/Components",
"platform": "windows",
"compiler": "msvc2019_64",
"qt_version": "6.5.3"
}
],
"use_local_plugins": true
}
You can find more details about the hot_reload_config.json structure in the Felgo QML Hot Reload integration guide.
Improved Project Integration
We have further reduced the number of changes you have to make when adding Felgo QML Hot Reload to your project:
- You don't have to add extra Qt components. Adding Felgo QML Hot Reload to your project will also add add the required Qt components.
- You don't have to link extra libraries to your application. Using felgohotreload_configure_executable(target_name) will link all required libraries. If you use qmake, you need to include FelgoHotReload.pri for this.
We also reduced the number of client library dependencies. This reduces the disk space required by your application when using Felgo QML Hot Reload.
More Improvements in Felgo Hot Reload 1.4.0
The latest release also improves the QML Hot Reload logic and enhances stability and performance:
- Felgo QML Hot Reload filters the files monitored for hot reload with better accuracy, and the GUI app sends fewer files to the connected client. This reduces the time overhead added at application startup.
- Limited support for Android builds using qmake and Qt 6. While already available, this feature is currently not fully supported and will see further improvements in future updates.
- Improved handling of changes in the QML tree structure and delegate components
- And many more.
How to Update Felgo Hot Reload
To update to the latest version, follow these steps:
- Open the Felgo Hot Reload Maintenance Tool in your installation directory
- Choose “Update components” and finish the update process
Find out more about Felgo Hot Reload
You can find out more about Felgo Hot Reload here:
More Posts like This
Felgo Hot Reload: Enhance your Qt Project Development with QML Code Reload