Skip to content

Qt Quick + PySideOpen-source Fluent UI for desktop applications

Windows, navigation, themes, and ready-to-use controls for desktop apps, built with the QML workflow you already know.

RinUI

Why RinUI ​

RinUI gives Qt Quick desktop applications one reusable foundation for windows, navigation, pages, themes, and familiar controls.

  • A complete window structure: FluentWindow, NavigationView, and FluentPage work together out of the box.
  • Native desktop behavior: Use Mica, Acrylic, custom title bars, and standard window controls on Windows.
  • One coherent design system: Themes, controls, icons, translations, and the Python entry point share the same API.

Where RinUI fits ​

RinUI is intended for projects that need a desktop window and complete interactions while keeping the development speed of QML:

  • Desktop tools and content managers built with PySide6 and Qt Quick.
  • Internal applications that want a Fluent visual language without rebuilding the window shell and control states from scratch.
  • Prototypes or actively developed products that need navigation, settings pages, dialogs, tables, date selection, and theme switching.

RinUI is not a replacement for a web component library, nor is it intended for projects that must remain entirely on Qt Widgets.

Start with QML you already know ​

Start with QML you already know
qml
import QtQuick
import RinUI

FluentWindow {
    width: 960
    height: 640

    navigationItems: [
        {
            title: "Home",
            icon: "ic_fluent_home_20_regular",
            page: Qt.resolvedUrl("pages/Home.qml")
        }
    ]
}

Create the application window from Python:

python
import sys

from PySide6.QtWidgets import QApplication
from RinUI import RinUIWindow

app = QApplication(sys.argv)
window = RinUIWindow("main.qml")
sys.exit(app.exec())

Continue with:

Project status

RinUI is still under active development. APIs and visual details may continue to change. It is best suited to prototypes, internal tools, and projects that can absorb iteration costs; review release changes before upgrading.

Acknowledgments ​

Thanks to the contributors and maintainers who help build RinUI.

Contributors