Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

SARibbon

> 编程语言
Open source

Ribbon Control for Qt

1.4K stars0 likes0 views
WebsiteGitHub

About

Ribbon Control for Qt

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 LTS
Qt 6.8 LTS

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

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

  • 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.)

    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:

    Single-row layout:

    See: SARibbon Layout Guide

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

    • Windows 7

    • Office 2013

    • Office 2016

    • Office 2021

    • Dark

    • Dark 2

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

  • Provides a Gallery widget.

  • Supports horizontal scrolling and Option Actions.

  • Offers center-aligned mode.

  • 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

  • Gitee (Chinese Git hosting)
  • GitHub

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:

  • Create a Ribbon-Style Window
  • Create a Ribbon Interface

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:

Binding Framework Build Tool
PyQtSARibbon PyQt5 SIP
PyQtSARibbon6 PyQt6 SIP
PySideSARibbon PySide6 Shiboken6

Install via pip:

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

For building from source and detailed usage, see:

  • Build Python Bindings
  • Use Python Bindings
  • Build PySide6 Bindings
  • Publish to PyPI

Python demo examples are in the pyexamples/ directory.


More Screenshots

  • Screenshots of software built with SARibbon:

    DAWorkbench: GitHub | Gitee

    This is a data analysis application with agent support. It provides workflow and AI agent analysis capabilities — if you want to learn how to embed an AI agent into a C++/Qt application, this software is a good reference.

    The actual Ribbon generation code is available at:

    https://github.com/czyt1988/data-workbench/blob/master/src/APP/DAAppRibbonArea.cpp


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.)

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++cppoffice-frameworkoffice-ribbonoffice-ui

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言