All Projects → White-Oak → Qml Rust

White-Oak / Qml Rust

Licence: mit
QML (Qt Quick) bindings for Rust language

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to Qml Rust

Qml Creative Controls
QML controls for creative applications and creative coding
Stars: ✭ 199 (+1.53%)
Mutual labels:  gui, qt, qml
Qml Loaders
Loading animation implementations in QML
Stars: ✭ 158 (-19.39%)
Mutual labels:  qt, qml
Qtwebdriver
WebDriver implementation for Qt
Stars: ✭ 152 (-22.45%)
Mutual labels:  qt, qml
Qml Coding Guide
A collection of good practices when writing QML code
Stars: ✭ 196 (+0%)
Mutual labels:  qt, qml
Dotherside
C language library for creating bindings for the Qt QML language
Stars: ✭ 140 (-28.57%)
Mutual labels:  qt, qml
Qamel
Simple QML binding for Go
Stars: ✭ 147 (-25%)
Mutual labels:  gui, qml
Zshelf
reMarkable app: Browse and download books from Z-Library
Stars: ✭ 166 (-15.31%)
Mutual labels:  qt, qml
Tabtoolbar
A small library for creating tabbed toolbars
Stars: ✭ 129 (-34.18%)
Mutual labels:  gui, qt
Shell
🐚 QtQuick and Wayland shell for convergence
Stars: ✭ 168 (-14.29%)
Mutual labels:  qt, qml
Flameshot
Powerful yet simple to use screenshot software 🖥️ 📸
Stars: ✭ 15,429 (+7771.94%)
Mutual labels:  gui, qt
Phantomstyle
Cross-platform QStyle for traditionalists
Stars: ✭ 179 (-8.67%)
Mutual labels:  gui, qt
Lablqml
Interfacing Qt/QML with OCaml. Formely known as lablqt
Stars: ✭ 136 (-30.61%)
Mutual labels:  gui, qt
Qtandroidtools
A library to manage Android from QML
Stars: ✭ 134 (-31.63%)
Mutual labels:  qt, qml
Haruna
Open source video player built with Qt/QML and libmpv.
Stars: ✭ 147 (-25%)
Mutual labels:  qt, qml
React Nodegui Starter
Starter repository for react based native desktop apps using react-nodegui
Stars: ✭ 132 (-32.65%)
Mutual labels:  gui, qt
Porymap
Map editor for pokeemerald, pokefirered, and pokeruby
Stars: ✭ 164 (-16.33%)
Mutual labels:  gui, qt
Browser
🌍 Cross-platform Material design web browser
Stars: ✭ 184 (-6.12%)
Mutual labels:  qt, qml
Autoannotationtool
A label tool aim to reduce semantic segmentation label time, rectangle and polygon annotation is supported
Stars: ✭ 113 (-42.35%)
Mutual labels:  qt, qml
Atomicdex Desktop
atomicDEX Desktop app - project codename "Dextop"
Stars: ✭ 126 (-35.71%)
Mutual labels:  qt, qml
Qui
【此项目作者为刘典武,不是我自己的原创项目,望周知。也请大家不要骚扰刘典武。】一个用Qt开发的用来生成QSS文件的小程序,附简单Demo,主程序本身也可以看作一个很好的Demo。
Stars: ✭ 168 (-14.29%)
Mutual labels:  gui, qt

QML-rust - bindings for Qt Quick

Build Status Crates.io

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 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).
  • 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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].