-
User Story
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
None
The moment a new programming language starts to get more attention from the community, it's expected that an initial set of bindings might be developed and then started to be adopted. Some languages do have a few limitations due to their nature and Qt implementation details. The first attempt was qmetaobject-rs, which was able to expose types to QML by having a similar QMetaObject structure within the Rust code (no C++ needed), however new attempts like CXX-Qt has been changing the approach and allow bidirectional integration. Supporting the usage of Qt within Rust and to extend a Qt/C++ project with Rust. Due to being more focus on extending Qt/C++ applications, a few C++-isms can be seen in the code.
Why Rust?
One cannot neglect the popularity of Rust and the different areas were its adoption is being pursued, starting from the Linux Kernel, Embedded Systems, Drivers, Tooling, etc. Additionally, other communities like Python has been benefited by the introduction of Rust-based packages in the ecosystem, which shows a good sign of the improvements the Qt project can benefit from.
How to achieve this?
Relying on more idiomatic elements to simplify the process of having a Rust backend to a Qt Quick application.
- depends on
-
QTBUG-139213 Qt Quick for Rust: Improve error messages
-
- Reported
-
-
QTBUG-139442 Qt Quick for Rust: Naming sanitisation and cleanup
-
- Reported
-
-
QTBUG-139220 Qt Quick for Rust: Add connect() function to rust
-
- Reported
-
-
QTBUG-139443 Qt Quick for Rust: Make Rust a first class citizen in the Qt VS Code plugin
-
- Reported
-
-
QTBUG-139447 Qt Quick for Rust: The best way to find / install / download Qt library dependencies
-
- Reported
-
-
QTBUG-139401 Qt Quick for Rust: Port ColorPalette Example to Rust
-
- In Progress
-
-
QTBUG-139089 Qt Quick for Rust: Spike: Rebuild implementation on top of cxx-qt-lib
-
- In Progress
-
-
QTBUG-139090 Qt Quick for Rust: add support for template types
-
- In Progress
-
-
QTBUG-139097 Qt Quick for Rust: Add Qt Quick tests
-
- In Progress
-
-
QTBUG-139221 Qt Quick for Rust: Native installation; organize in crates; put Qt Quick for Rust to crates.io
-
- In Progress
-
-
QTBUG-139083 Qt Quick for Rust: implement qinvokable / qslot
-
- In Progress
-
-
QTBUG-139085 Qt Quick for Rust: implement qsignal
-
- In Progress
-
-
QTBUG-139087 Qt Quick for Rust: implement properties
-
- In Progress
-
-
QTBUG-139088 Qt Quick for Rust: implement QML_ELEMENT
-
- In Progress
-