Is there any MIT/BSD licensed UI framework for C++ ?

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

Our great sponsors
  • Mergify - Tired of breaking your main and manually rebasing outdated pull requests?
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SonarCloud - Analyze your C and C++ projects with just one click.
  • imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

    I'm not sure if this is what you're looking for, but Dear ImGUI is kind of a gold standard within the AAA game development industry. It's MIT licensed and u/ocornut is one of the most helpful and coolest dudes in the open source world.

  • hikogui

    Modern accelerated GUI

    I haven't actually used either one, but there's HikoGUI (previously known as TTauri) under the Boost license and RmlUI under MIT. Not sure if they're very OS-integrated in the way you want or not.

  • Mergify

    Tired of breaking your main and manually rebasing outdated pull requests?. Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free.

  • Elements C++ GUI library

    Elements C++ GUI library

    Elements was mentioned as a specific example of an MIT-licensed GUI library on the CPPcast episode from 5 May 2022.

  • nana

    a modern C++ GUI library

    https://github.com/cnjinhao/nana Boost Software License

  • lvgl

    Embedded graphics library to create beautiful UIs for any MCU, MPU and display type. It's boosted by a professional yet affordable drag and drop UI editor, called SquareLine Studio.

    LVGL (https://lvgl.io/) - MIT

  • RmlUi

    RmlUi - The HTML/CSS User Interface library evolved

    I haven't actually used either one, but there's HikoGUI (previously known as TTauri) under the Boost license and RmlUI under MIT. Not sure if they're very OS-integrated in the way you want or not.

  • nappgui_src

    SDK for building cross-platform desktop apps in ANSI-C

    There is NAppGUI: https://github.com/frang75/nappgui_src. It’s written in C, but I’m sure you could wrap the API.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • GacUI

    GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features.

    You can try https://github.com/vczh-libraries/GacUI . It uses XML descripted UIs, which you may be familiar with as a C# developer.

  • ares

    ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.

    For something a bit more unusual, there's hiro. It depends on nall and I think ruby (both also in the same repo), it's not entirely native-looking especially in a post-Win32 world - though I believe most of the replacements like the file dialog were optional - and it was never properly documented before the original author died; but it's ISC-licensed, performant for end-users, and the API is clean and straight-forward.

  • nuklear

    A single-header ANSI C immediate mode cross-platform GUI library (by Immediate-Mode-UI)

  • ultimatepp

    U++ is a C++ cross-platform rapid application development framework focused on programmer's productivity. It includes a set of libraries (GUI, SQL, Network etc.), and integrated development environment (TheIDE).

    https://www.ultimatepp.org/ is BSD/MIT.

  • nanogui

    Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL (by mitsuba-renderer)

    Nanogui : https://github.com/mitsuba-renderer/nanogui

  • ui

    Boost.UI library (by kosenko)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts