docs.rs failed to build qml-0.0.8
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
qml-0.0.9
QML-rust - bindings for Qt Quick
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.
documentation
Examples
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 usingQ_LISTMODEL!
andQ_LISTMODEL_ITEM!
macro.cargo run --example sigslots
for an example of how to create your ownQObject
with signals and slots, and to communicate between QML and Rust. Also shows how to useQ_OBJECT!
macro.cargo run --example qobjects
for an example of how to useQ_OBJECT!
macro with different types.cargo run --example qvarlists
for an example of how to useqvarlist!
macro to easily formQVariant
(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 bycargo run
) shows how to use qrc resources.
Requires CMake, Make, Qt (Core, Gui, Widgets, Quick) 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).
- QObjects: slots, signals (limited properties support). Emitting signals and receiving slots works.
- Registering your own QML types (singletons or not) from Rust code.
To be done:
- the library is mostly done, but some stuff is lacking polish, like possible memory leaks or better macro designs.