![]()
Some checks failed
autofix.ci / format_fix (push) Has been cancelled
autofix.ci / lint_typecheck (push) Has been cancelled
CI / files-changed (push) Has been cancelled
CI / ffi_32bit_build (push) Has been cancelled
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Has been cancelled
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, 1.85) (push) Has been cancelled
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Has been cancelled
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Has been cancelled
CI / build_and_test (ubuntu-22.04, 1.85) (push) Has been cancelled
CI / build_and_test (ubuntu-22.04, nightly) (push) Has been cancelled
CI / node_test (macos-14) (push) Has been cancelled
CI / node_test (ubuntu-22.04) (push) Has been cancelled
CI / node_test (windows-2022) (push) Has been cancelled
CI / python_test (macos-14) (push) Has been cancelled
CI / python_test (ubuntu-22.04) (push) Has been cancelled
CI / python_test (windows-2022) (push) Has been cancelled
CI / cpp_test_driver (macos-13) (push) Has been cancelled
CI / cpp_test_driver (ubuntu-22.04) (push) Has been cancelled
CI / cpp_test_driver (windows-2022) (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / cpp_cmake (macos-14, 1.85) (push) Has been cancelled
CI / cpp_cmake (ubuntu-22.04, stable) (push) Has been cancelled
CI / cpp_cmake (windows-2022, nightly) (push) Has been cancelled
CI / cpp_package_test (push) Has been cancelled
CI / wasm (push) Has been cancelled
CI / wasm_demo (push) Has been cancelled
CI / vsce_build_test (push) Has been cancelled
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Has been cancelled
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Has been cancelled
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Has been cancelled
CI / mcu-embassy (push) Has been cancelled
CI / tree-sitter (push) Has been cancelled
CI / updater_test (0.3.0) (push) Has been cancelled
CI / fmt_test (push) Has been cancelled
CI / esp-idf-quick (push) Has been cancelled
CI / android (push) Has been cancelled
CI / miri (push) Has been cancelled
CI / test-figma-inspector (push) Has been cancelled
CMake 4.0 remove some deprecated code < 3.5 Catch2 old version still depend against cmake 3.0 + deprecated method. Necessary to increase version otherwise when we try to compile example with cmake 4.0 it will failed to configure it |
||
---|---|---|
.. | ||
7guis | ||
bash | ||
bevy | ||
carousel | ||
cpp | ||
dial | ||
fancy-switches | ||
fancy_demo | ||
ffmpeg | ||
gallery | ||
gstreamer-player | ||
imagefilter | ||
iot-dashboard | ||
maps | ||
mcu-board-support | ||
mcu-embassy | ||
memory | ||
opengl_texture | ||
opengl_underlay | ||
orbit-animation | ||
plotter | ||
repeater | ||
slide_puzzle | ||
sprite-sheet | ||
todo | ||
todo-mvc | ||
uefi-demo | ||
virtual_keyboard | ||
wgpu_texture | ||
CMakeLists.txt | ||
README.md |
Examples
These examples demonstrate the main features of Slint and how to use them in different language environments.
Thumbnail | Description | Example |
---|---|---|
Widget Gallery |
A simple application showing the different widgets. Project... |
Wasm Demo |
Energy Meter |
A fictional user interface of a device that monitors energy consumption in a building. Project... |
Wasm Demo |
Todo app |
A simple todo application. Project... A simple todo application based on the Model View Controller pattern. Project... |
Wasm Demo Wasm MVC Demo |
Carousel![]() |
A custom carousel widget that can be controlled by touch, mouse and keyboard. Project... |
Wasm Demo |
Slide Puzzle |
Puzzle game based on a Flutter example. Project... |
Wasm Demo |
Memory Game |
A basic memory game used as an example the tutorial. Project... |
Wasm Demo |
IOT Dashboard![]() |
AA clone of one demo from the QSkinny framework. Also shows how to dynamically load widgets from C++. Project... |
|
Image Filter |
A Rust-only example that shows how to use the Rust image crate to do image manipulationsand feed the result into Slint. Project... |
Wasm Demo |
Plotter![]() |
A Rust-only example that shows how to use the Rust plotters crate to do plot a graph and integrate the result into Slint. Project... |
Wasm Demo |
Using Bash |
Some examples of how to use the slint-viewer to add a GUI to shell scripts. Project... |
|
OpenGL Underlay![]() |
A Rust and C++ example that shows how render Slint on top of graphical effect rendered using custom OpenGL code. Project... |
Wasm Demo |
OpenGL |
A Rust and C++ example that shows how render a scene with custom OpenGL code into a texture and render that texture within a Slint scene. Project... |
|
FFmpeg |
A Rust example that shows how render video frames with FFmpeg within a Slint scene. Project... |
|
Maps |
A rust example that load image tiles asynchronously from OpenStreetMap server and allow panning and zooming. Project... |
|
Virtual Keyboard![]() |
A Rust and C++ example that shows how to implement a custom virtual keyboard in Slint. Project... |
|
7GUIs![]() |
Our implementations of the "7GUIs" Tasks. Project... |
|
Slint & Bevy |
A demo that shows how to embed Bevy into Slint Project... |
External examples
Thumbnail | Description |
---|---|
Cargo UI![]() |
A rust application that makes use of threads in the background. Project... |
Loading the example with the viewer
Simply load the .slint file with the viewer application
cargo run --release --bin slint-viewer -- examples/gallery/gallery.slint
Running the Rust Examples
You can run the examples either by going into folder or into the rust sub-folder and use cargo run
, for example:
cd examples/gallery
cargo run --release
or you can run them from anywhere in the Cargo workspace by name:
cargo run --release --bin gallery
Wasm builds
In order to make the wasm build of the example, you first need to edit the Cargo.toml
files to uncomment the line starting with #wasm#
(or use the sed
line bellow)
You can then use wasm-pack (which you may need to obtain with cargo install wasm-pack
).
This will generate the wasm in the ./pkg
directory, which the index.html
file will open.
Since wasm files cannot be served from file://
URL, you need to open a wab server to serve
the content
cd examples/imagefilter/rust
sed -i "s/^#wasm# //" Cargo.toml
wasm-pack build --release --target web
python3 -m http.server
Running the C++ Examples
- When compiling Slint from sources: If you follow the C++ build instructions, this will build the C++ examples as well by default
- From installed binary packages: Simply run cmake in one of the example directory containing a CMakeLists.txt
mkdir build && cd build
cmake -GNinja -DCMAKE_PREFIX_PATH="<path to installed>" ..
cmake --build .
Running the Node Examples
You can run the examples by going into the node sub-folder and use pnpm
, for example:
cd examples/todo/node
pnpm install
pnpm start