You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 17, 2021. It is now read-only.
Bindings are based on DOtherSide C bindings for QML
Library is mostly feature-compliant with other bindings based on the library, but lacks some minor features and has quite a few bugs.
All examples are located in a folder examples/, under example_name.rs and example_name.qml names.
cargo run --example properties for setting properties from Rust to QML.
cargo run --example listmodel for an example of providing QML with list model from Rust.
cargo run --example listmodel_macro for the same example, but using Q_LISTMODEL! and Q_LISTMODEL_ITEM! macro.
cargo run --example sigslots for an example of how to create your own QObject with signals and slots, and to communicate between QML and Rust. Also shows how to use Q_OBJECT! macro.
cargo run --example qobjects for an example of how to use Q_OBJECT! macro with different types.
cargo run --example qvarlists for an example of how to use qvarlist! macro to easily form QVariant (used to pass data to QML) of a complex array.
cargo run --example threaded for an example of multithreading.
cargo run --example qmlregister for an example of how to register and use your own types from Rust in QML.
An example in examples/resources (should be run manually by cargo run) shows how to use qrc resources.
Requires CMake, Make, Qt (Core, Gui, Widgets, Quick), pkg-config (only for OS X and GNU/Linux) and, of course, Rust.
To run tests: RUST_TEST_THREADS=1 cargo test
In-app examples
Architect - an app showing some git stats,
using qml-rust to provide properties and lists to QML in here.
Kefia - A simple package manager, that provides a QListModel to QML, registers a QObject with slots and communicates between QML and Rust,
here.
Status
Done:
Basic initialization and execution.
Providing properties to QML files.
QAbstractListModels - provides changable models for QML items (early draft, still lacks proper mutability).