Skip to content

Qt6.11 / Cmake / QML Desktop UI#452

Draft
FelixvdDonk wants to merge 16 commits intovedderb:masterfrom
FelixvdDonk:qmlui
Draft

Qt6.11 / Cmake / QML Desktop UI#452
FelixvdDonk wants to merge 16 commits intovedderb:masterfrom
FelixvdDonk:qmlui

Conversation

@FelixvdDonk
Copy link

@FelixvdDonk FelixvdDonk commented Mar 10, 2026

This PR is an exercise to gage the feasibility of going full QtQuick also for the desktop portions of the VESC tool. QtQuick was previously only useful for mobile but it has made quite some strides since. Plotting in this branch is done with the new QtGraphs module. OpenGLwidget is replaced with QtQuick3D

Screenshot - QtQuickControls Fusion style:
image

Converts `SIGNAL`/`SLOT` macro usage to type-safe pointer-to-member syntax, enhancing compile-time error detection and code robustness.

Transitions QML type registration to use the `QML_ELEMENT` macro and `qt_add_qml_module` in CMake. This streamlines QML imports by providing all types under a single module (`Vedder.vesc`) and removes numerous manual `qmlRegisterType` calls.

Removes explicit `qRegisterMetaType` calls, leveraging automatic metatype registration available in modern Qt. Updates `foreach` loops to range-based for loops for improved code readability.

Ensures the correct `BleUart` or `BleUartDummy` implementation is included based on the build's Bluetooth support.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant