QML-zig
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.
Preview
Build - Steps
Requirements
All software required for building.
- Qt 5.14 or higher
- Zig v0.9.0 or higher
- C++ compiler w/ C++11 support
- CMake v3.2 or higher (DOtherSide build)
Instructions
# Clone repo
git clone --recursive https://github.com/kassane/qml_zig
# Open folder
cd qml_zig
# Build
zig build ExampleName -Drelease-safe|-Drelease-fast|-Drelease-small
Examples
zig build Animated
- Run an Animated Box
zig build Hello
- Hello World, with Menu and Clickable Button
zig build Cells
- Cells example from QML Tute, click a color to change the text
zig build Button
- Button with 2-way comms to the Zig code
zig build Layouts
- Layouts examples
zig build Splits
- Splitview example
zig build Tables
- Tableview example
Work in Progres Examples
zig build Particle
- Particle system example
- Needs QObject wrapper working yet, to pass zig objects to the QML side
Status
- Basic initialization and execution
- More Examples - thanks @zigster64!
- Providing properties to QML files
TODO
- QAbstractListModels
- QObject - working progress
- QStyle