czyt1988/SARibbon

Ribbon Control for Qt

C++

1,450

1,018 commits

updated Oct 13, 2026

See the code

README

SARibbon Introduction

中文文档点击这里

📚 Project Documentation: https://czyt1988.github.io/SARibbon/en
Detailed User Guide: SARibbon User Guide

Windows (latest)Linux Ubuntu (latest)Mac (latest)
Qt 5.15 LTScmake-win-qt5.15CMake-Linux-Qt5.15cmake-mac-qt5.15
Qt 6.8 LTScmake-win-qt6.8CMake-Linux-Qt6.8cmake-mac-qt6.8

Project Overview

SARibbon is a Ribbon UI control library for Qt, designed to provide desktop applications with a modern interface similar to Microsoft Office applications.

Use Cases

  • Large-scale software
  • Industrial software
  • Complex desktop applications

Design Philosophy

  • Interface naming inspired by MFC Ribbon
  • Visual style blends the best of Microsoft Office and WPS Office Ribbon interfaces
  • Supports rapid theme customization via QSS (Qt Style Sheets)
  • Includes encapsulated common functional widgets, such as color picker buttons and color panels

Features

Ribbon Layout and Display

Overview

  • Supports minimized mode, where only tabs are shown (double-clicking a tab toggles minimization by default). Contextual tabs are also supported.
    Minimized Mode

  • Supports Quick Access Bar (like Word's quick menu) and Right Button Group, with adaptive layout behavior in different modes.

  • Supports four types of Ribbon buttons: standard push button, delayed popup menu button, menu button, and action menu button. (The action menu button addresses one of the core challenges this Ribbon control aims to solve.)
    Ribbon Buttons
    See: Ribbon Button Layout Guide

  • Offers six distinct layout styles — Loose 3-row, Loose 2-row, Compact 3-row, Compact 2-row, Loose Single-row, Compact Single-row — with Single-row mode ideal for space-constrained scenarios.
    Layout styles:
    Layout Styles
    Single-row layout:
    Single-row Compact
    See: SARibbon Layout Guide

  • Fully customizable via QSS, with real-time theme switching support. Includes 6 built-in themes:

    • Windows 7
      Win7 Theme
    • Office 2013
      Office 2013 Theme
    • Office 2016
      Office 2016 Theme
    • Office 2021
      Office 2021 Theme
    • Dark
      Dark Theme
    • Dark 2
      Dark 2 Theme

    You can design any theme via QSS. See: Design Your Theme

  • Provides a Gallery widget.
    Gallery

  • Supports horizontal scrolling and Option Actions.
    Option Action

  • Offers center-aligned mode.
    Center Alignment

  • Fully compatible with 4K displays and multi-monitor setups.

  • Supports Linux and macOS (UI not deeply optimized for these platforms).

  • Provides RTL mode with automatic system detection.

License: MIT (free to use, modify, and distribute)
Contributions welcome: feel free to submit Issues, PRs, or join discussions!

Repositories


Building and Usage

SARibbon provides amalgamated integration files (SARibbon.h and SARibbon.cpp) in the src/ directory — just include them in your project to get started.

To build as a dynamic library, see: SARibbon Build Instructions

Quick start guides:

We recommend starting with the example/MainWindowExample project to learn SARibbon usage. You can run it directly to explore all features interactively.

Project documentation is in the docs/en/ folder:
https://czyt1988.github.io/SARibbon/en

Doxygen-generated API documentation is deployed at: https://czyt1988.github.io/SARibbon/doxygen/index.html


Python Bindings

SARibbon provides Python bindings for three frameworks, allowing you to use SARibbon in Python applications:

BindingFrameworkBuild Tool
PyQtSARibbonPyQt5SIP
PyQtSARibbon6PyQt6SIP
PySideSARibbonPySide6Shiboken6

Install via pip:

pip install PyQtSARibbon    # PyQt5
pip install PyQtSARibbon6   # PyQt6
pip install PySideSARibbon  # PySide6

For building from source and detailed usage, see:

Python demo examples are in the pyexamples/ directory.


More Screenshots


Documentation Generation

Project documentation is built with MkDocs and deployed to GitHub Pages:
https://czyt1988.github.io/SARibbon/en

You can also generate documentation using Doxygen:

  • docs/doxygen-doc-file/Doxyfile-qch-en: generates .qch files for integration into Qt Creator as Qt Help documentation. (Note: the -en variant does not yet exist — use Doxyfile-qch-cn as a reference, or create the -en version from it.)
  • docs/doxygen-doc-file/Doxyfile-wiki-en: generates HTML documentation for browser viewing. (Note: the -en variant does not yet exist — use Doxyfile-wiki-cn as a reference, or create the -en version from it.)
cpp
office-framework
office-ribbon
office-ui
qribbon
qt
qt-ribbon
ribbon
ribbon-control
wps
wps-ui

czyt1988/SARibbon

Ribbon Control for Qt

C++

1,450

1,018 commits

updated Oct 13, 2026

See the code

README

SARibbon Introduction

中文文档点击这里

📚 Project Documentation: https://czyt1988.github.io/SARibbon/en
Detailed User Guide: SARibbon User Guide

Windows (latest)Linux Ubuntu (latest)Mac (latest)
Qt 5.15 LTScmake-win-qt5.15CMake-Linux-Qt5.15cmake-mac-qt5.15
Qt 6.8 LTScmake-win-qt6.8CMake-Linux-Qt6.8cmake-mac-qt6.8

Project Overview

SARibbon is a Ribbon UI control library for Qt, designed to provide desktop applications with a modern interface similar to Microsoft Office applications.

Use Cases

  • Large-scale software
  • Industrial software
  • Complex desktop applications

Design Philosophy

  • Interface naming inspired by MFC Ribbon
  • Visual style blends the best of Microsoft Office and WPS Office Ribbon interfaces
  • Supports rapid theme customization via QSS (Qt Style Sheets)
  • Includes encapsulated common functional widgets, such as color picker buttons and color panels

Features

Ribbon Layout and Display

Overview

  • Supports minimized mode, where only tabs are shown (double-clicking a tab toggles minimization by default). Contextual tabs are also supported.
    Minimized Mode

  • Supports Quick Access Bar (like Word's quick menu) and Right Button Group, with adaptive layout behavior in different modes.

  • Supports four types of Ribbon buttons: standard push button, delayed popup menu button, menu button, and action menu button. (The action menu button addresses one of the core challenges this Ribbon control aims to solve.)
    Ribbon Buttons
    See: Ribbon Button Layout Guide

  • Offers six distinct layout styles — Loose 3-row, Loose 2-row, Compact 3-row, Compact 2-row, Loose Single-row, Compact Single-row — with Single-row mode ideal for space-constrained scenarios.
    Layout styles:
    Layout Styles
    Single-row layout:
    Single-row Compact
    See: SARibbon Layout Guide

  • Fully customizable via QSS, with real-time theme switching support. Includes 6 built-in themes:

    • Windows 7
      Win7 Theme
    • Office 2013
      Office 2013 Theme
    • Office 2016
      Office 2016 Theme
    • Office 2021
      Office 2021 Theme
    • Dark
      Dark Theme
    • Dark 2
      Dark 2 Theme

    You can design any theme via QSS. See: Design Your Theme

  • Provides a Gallery widget.
    Gallery

  • Supports horizontal scrolling and Option Actions.
    Option Action

  • Offers center-aligned mode.
    Center Alignment

  • Fully compatible with 4K displays and multi-monitor setups.

  • Supports Linux and macOS (UI not deeply optimized for these platforms).

  • Provides RTL mode with automatic system detection.

License: MIT (free to use, modify, and distribute)
Contributions welcome: feel free to submit Issues, PRs, or join discussions!

Repositories


Building and Usage

SARibbon provides amalgamated integration files (SARibbon.h and SARibbon.cpp) in the src/ directory — just include them in your project to get started.

To build as a dynamic library, see: SARibbon Build Instructions

Quick start guides:

We recommend starting with the example/MainWindowExample project to learn SARibbon usage. You can run it directly to explore all features interactively.

Project documentation is in the docs/en/ folder:
https://czyt1988.github.io/SARibbon/en

Doxygen-generated API documentation is deployed at: https://czyt1988.github.io/SARibbon/doxygen/index.html


Python Bindings

SARibbon provides Python bindings for three frameworks, allowing you to use SARibbon in Python applications:

BindingFrameworkBuild Tool
PyQtSARibbonPyQt5SIP
PyQtSARibbon6PyQt6SIP
PySideSARibbonPySide6Shiboken6

Install via pip:

pip install PyQtSARibbon    # PyQt5
pip install PyQtSARibbon6   # PyQt6
pip install PySideSARibbon  # PySide6

For building from source and detailed usage, see:

Python demo examples are in the pyexamples/ directory.


More Screenshots


Documentation Generation

Project documentation is built with MkDocs and deployed to GitHub Pages:
https://czyt1988.github.io/SARibbon/en

You can also generate documentation using Doxygen:

  • docs/doxygen-doc-file/Doxyfile-qch-en: generates .qch files for integration into Qt Creator as Qt Help documentation. (Note: the -en variant does not yet exist — use Doxyfile-qch-cn as a reference, or create the -en version from it.)
  • docs/doxygen-doc-file/Doxyfile-wiki-en: generates HTML documentation for browser viewing. (Note: the -en variant does not yet exist — use Doxyfile-wiki-cn as a reference, or create the -en version from it.)
cpp
office-framework
office-ribbon
office-ui
qribbon
qt
qt-ribbon
ribbon
ribbon-control
wps
wps-ui

Significant stargazers

Carlos Cordoba

727 followers · starred Jan 2021

Long Huan

14 followers · starred Jun 2022

Stanislav Ershov

62 followers · starred Jul 2026

Alonso Schaich

10 followers · starred Oct 2024