Embedding Slint UI Within a Qt Application (C++)
Qt is a mature and feature-rich framework, but building flexible and declarative UIs often requires more than widgets and signals. That’s where Slint fits in. It provides a compact, declarative syntax for building modern UIs while staying native and lightweight.
Some Qt-based projects, like LibrePCB, already use Slint to modernise their UI without abandoning their existing Qt foundation. Check the full blog details here. Embedding Slint lets you:
- Keep your Qt app logic and backend code intact.
- Use Slint for fast, declarative, and maintainable UI layers.
- Mix and match Slint views with traditional Qt widgets.
- Gradually migrate UI parts without a full rewrite.
Watch the walkthrough video here:
Slint UI 102: Embedding Slint UI Within a Qt Application | C++
What you’ll learn:
- How to embed Slint UI components in a Qt app
- How to compile
.slint
files to native C++ - How to synchronise data between Qt and Slint
- How to manage event flow and cleanup
Resources:
- Slint Documentation: https://slint.dev/docs
- Slint Source Code: https://github.com/slint-ui/slint
- Slint C++ Template: https://github.com/slint-ui/slint-cpp-template
- Full Source Code from this video: https://github.com/allankoechke/qt-slint-integration-cpp