slint/examples/7guis
Simon Hausmann 604450da47 WIP: slint-compiler: Add support for generating Python stubs
The generated file offers the following two pieces of functionality:

- Convenient front-end to slint.load_file() by loading the .slint file
  (replaces use of auto-loader)
- More importantly: Type information for exported properties, callbacks,
  functions, and globals
2025-07-14 13:36:39 +02:00
..
booker.rs Deprecate exporting the last import if there is no other exported component 2024-07-03 13:34:08 +02:00
booker.slint cleanup examples according to upcoming code guidelines (#3809) 2023-11-02 11:04:40 +01:00
Cargo.toml Bump version number to 1.13.0 2025-06-26 13:30:43 +00:00
cells.rs Fix warning with nightly rust 2024-09-02 07:34:49 +02:00
cells.slint Deprecate exporting the last import if there is no other exported component 2024-07-03 13:34:08 +02:00
circledraw.rs Deprecate exporting the last import if there is no other exported component 2024-07-03 13:34:08 +02:00
circledraw.slint cleanup examples according to upcoming code guidelines (#3809) 2023-11-02 11:04:40 +01:00
counter.slint cleanup examples according to upcoming code guidelines (#3809) 2023-11-02 11:04:40 +01:00
crud.rs Deprecate exporting the last import if there is no other exported component 2024-07-03 13:34:08 +02:00
crud.slint WIP: slint-compiler: Add support for generating Python stubs 2025-07-14 13:36:39 +02:00
README.md 7guis: modernier the timer example 2024-08-16 17:27:51 +02:00
tempconv.slint janitor: Go over our spell checking setup 2023-10-16 09:01:51 +02:00
timer.slint 7guis: modernier the timer example 2024-08-16 17:27:51 +02:00

Slint's 7GUIs implementation

7GUIs is a "GUI Programming Benchmark". However rather than benchmarking performance, it offers 7 GUI related tasks that aim to make UI Toolkits comparable.

These 7 challenges have implementations for multiple frameworks already and the following are ours:

Counter

Just a Button that increases a value in a text field.

Screenshot of the 7GUIs Counter

.slint code in web editor

Temperature Converter

Converts Celsius to Fahrenheit and vice versa.

Screenshot of the 7GUIs Temperature Converter

.slint code in web editor

Flight Booker

Performs some validation checking on dates. Does not actually book flights.

Screenshot of the 7GUIs Flight Booker

.slint code in web editor (Note that the logic for date validation and date comparison is implemented in Rust.)

Timer

A simple timer where the duration is adjustable while running.

Screenshot of the 7GUIs Timer

.slint code in web editor

CRUD

Lets you create, read, update and delete names from a list as well as filter them by prefix. Our implementation makes use of MapModel and FilterModel to achieve this.

Screenshot of the 7GUIs CRUD

.slint code in web editor (Note that the changes to the data model and filtering is implemented in Rust.)

Circle Drawer

Draw some circles on a canvas and change their sizes. It has undo and redo capabilities.

Screenshot of the 7GUIs Circle Drawer

.slint code in web editor (Note that the undo-redo stack is implemented in Rust.)

Cells

Almost MS Excel. It uses nested models to create the table.

Screenshot of the 7GUIs Cells

.slint code in web editor (Note that the cell model, expression evaluation and dependency handling is implemented in Rust.)