A list of free, cross-platform GUI solutions for C++. If you don’t like Qt, or other major GUI frameworks like wxWidgets or GTK, the choices available to you are a bit overwhelming.

If you know of other C++ UI libraries not listed here, dead or alive, let me know!

Healthy Projects

At the time of writing, these projects were in active development. The list of pros and cons is certainly incomplete. Just a quick overview of what I could gather about the various libraries. They are spiced up with my personal opinion where appropriate.


Qt

Qt has everything you need to quickly and cost-effectively design, develop, test, deploy and maintain your software for any project. Focus on creating the best user experiences instead of coding what’s already been coded for you.
Pros
  • very battle tested / production ready
  • IDE and UI builder
  • many c++ programmers swear by it
  • it does have everything you need
Cons
  • ginormous, heavy framework
  • uses ancient paradigms
  • feature creep, the project
  • tends to overtake all your structures
  • slow
  • I don’t like it
Platforms
  • Linux, macOS, Windows
  • Android, iOS/tvOS/watchOS, WinRT
  • Embedded Linux, INTEGRITY, QNX, VxWorks
License
  • commercial
  • GPL3 & LGPL3

Sciter

Embeddable HTML/CSS/script engine for modern UI development.

Sciter allows using time proven, robust, and flexible HTML and CSS for GUI definition, and GPU accelerated rendering. Sciter Engine is a single, compact DLL of 5+ Mb in size. Application using it are 10+ times smaller than the ones built with Electron or Qt.

Pros
  • battle tested / production ready
  • html, css, scripting
  • very easy to use, offers many advanced ui features
  • has a DOM inspector
Cons
  • not open-source, though binaries are available for free
  • documentation isn’t great
  • tooling ecosystem is stale
Platforms
  • Linux, macOS, Windows, WinRT
  • Supposedly Android, iOS
License
  • commercial, free

Ultralight

Ultra-fast, ultra-light, standards-compliant HTML renderer for applications and games.

Pros
  • battle tested / production ready
  • html/css/js
  • good documentation and multiple samples
  • supports both application and game scenarios (render to texture)
Cons
  • non-platform theme (expected with css)
  • usual overhead of js <-> c++ integration
Platforms
  • Linux, macOS, Windows
  • Xbox One, PS4
License
  • commercial, free under $100K or non-commercial

Noesis GUI

The core of NoesisGUI is a resolution-independent and vector-based rendering engine that is built to take advantage of modern graphics hardware.

Pros
  • battle tested / production ready
  • impressive list of platforms and backends
  • markup language
  • best-in-class visual editor (Microsoft Blend)
  • great documentation with many examples
Cons
  • closed-source, limited free license
  • developers and UI designers must use Windows
  • heavy setup and integration
Platforms
  • Linux, macOS, Windows
  • Android, iOS,
  • UWP, Xbox One, PS4, Nintendo Switch, WebGL
License
  • commercial, free under €100K

Dear ImGui

Dear ImGui is a bloat-free graphical user interface library for C++. It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline enabled application. It is fast, portable, renderer agnostic and self-contained (no external dependencies).
Pros
  • battle tested / production ready
  • available on conan
  • minimal dependencies
Cons
  • nothing jumps out to me
Platforms
  • Linux, macOS, Windows
  • Android
License
  • MIT

Juce

JUCE makes it easy to build a versatile UI that can run on any platform and integrate OpenGL. JUCE handles 2D rendering engines, image format handling and font functionality. With a variety of Look and Feel to choose from, you can create great looking applications that will scale to all screen size and work on mobile too.
Pros
  • battle tested / production ready
  • fancy
Cons
  • more of an audio framework with UIs
  • heavy framework (a-la Qt)
Platforms
  • Linux, macOS, Windows
  • Android, iOS
License
  • commercial, free under $50K
  • GPL

wxWidgets

wxWidgets is a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base. It has popular language bindings for Python, Perl, Ruby and many other languages, and unlike other cross-platform toolkits, wxWidgets gives applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature.
Pros
  • battle tested / production ready
  • platform look with native widgets
  • available on conan
Cons
  • convoluted api
Platforms
  • Linux, macOS, Windows
License
  • wxWindows Library Licence (LGPL-like)

GTK+

GTK, or the GIMP Toolkit, is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK is suitable for projects ranging from small one-off tools to complete application suites.
Pros
  • battle tested / production ready
Cons
  • building & linking is hell
  • looks meh
  • GNOME
  • I’m not personally a fan of the APIs
Platforms
  • Linux, macOS, Windows
License
  • LGPL 2.1

gtkmm

gtkmm is the official C++ interface for the popular GUI library GTK+. Highlights include typesafe callbacks, and a comprehensive set of widgets that are easily extensible via inheritance. You can create user interfaces either in code or with the [Glade User Interface designer](https://glade.gnome.org/), using Gtk::Builder. There's extensive documentation, including API reference and a tutorial.
Pros
  • interface builder
  • listed on Bjarne’s website?
Cons
  • autotools
  • GNOME
Platforms
  • Linux, macOS, Windows
License
  • LGPL 2.1

CEGUI

Crazy Eddie's GUI System is a free library providing windowing and widgets for graphics APIs / engines where such functionality is not natively available, or severely lacking. The library is object-oriented, written in C++, cross-platform, MIT-licensed (free and Open Source) and targeted at game and application developers who should be spending their time creating great games and not on building GUI sub-systems! Additionally, it offers a WYSIWYG editor for creating layouts and imagesets.
Pros
  • battle tested / production ready
  • wysiwyg editor
Cons
  • from past experiences, a pain to build & link
Platforms
  • Linux, macOS, Windows
License
  • MIT

Fox Toolkit

FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and effectively. It offers a wide, and growing, collection of Controls, and provides state of the art facilities such as drag and drop, selection, as well as OpenGL widgets for 3D graphical manipulation. FOX also implements icons, images, and user-convenience features such as status line help, and tooltips. Tooltips may even be used for 3D objects!
Pros
  • battle tested / production ready (used in CAD tools)
Cons
  • ugly af
Platforms
  • Linux, macOS (X server), Windows, a bunch of older UNIX flavors
  • IRIX, HP-UX, Solaris/SunOS, AIX, DYNIX
License
  • LGPL

MiniGUI

MiniGUI is a complete embedded graphics support system designed and optimized for embedded systems. As a middleware between OS and applications, MiniGUI hides the diversities of different underlying OSes and hardware platforms, and provides identical APIs for top-level applications.
Pros
  • battle tested / production ready
  • wysiwig UI editor
  • look at that list of supported platforms!
  • fills embedded niche
Cons
  • autotools is cancer
  • seems limited due to its embedded focus
Platforms
  • Linux, Windows
  • uClinux, eCos, uC/OS-II, VxWorks, pSOS, ThreadX, Nucleus
License
  • commercial
  • GPL

Nuklear

This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed as a simple embeddable user interface for application and does not have any dependencies, a default render backend or OS window and input handling but instead provides a very modular library approach by using simple input state for input and draw commands describing primitive shapes as output. So instead of providing a layered library that tries to abstract over a number of platform and render backends it only focuses on the actual UI.
Pros
  • single header :o
  • no dependencies
  • pretty
Platforms
  • Linux, macOS, Windows
  • Android
License
  • MIT
  • Public Domain

raygui

Raygui is a simple and easy-to-use immediate-mode-gui library. raygui was originated as an auxiliar module for raylib to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders, raylib default font...). raygui is intended for tools development; it has already been used to develop the following tools: rFXGen, rTexViewer, rGuiStyler and rGuiLayout.
Pros
  • simple
  • pretty
  • many widgets
  • APIs based on well known Unit3D IMGUI (quick to learn)

Cons

  • “raygui is intended for tools development”
Platforms
  • Not clearly listed, assuming : Linux, macOS, Windows
License
  • zlib

NanoGUI

NanoGUI is a minimalistic cross-platform widget library for OpenGL 3.x or higher. It supports automatic layout generation, stateful C++11 lambdas callbacks, a variety of useful widget types and Retina-capable rendering on Apple devices thanks to NanoVG by Mikko Mononen. Python bindings of all functionality are provided using pybind11.
Pros
  • very pretty
  • functional apis
Cons
  • have not fixed their dependency hell (haven’t updated NanoVG)
Platforms
  • Linux, macOS, Windows
License
  • BSD-style

microui

A tiny, portable, immediate-mode UI library written in ANSI C.
Pros
  • tiny
  • fixed-sized memory (great for embedded)
Cons
  • pretty limited
Platforms
  • I’m guessing at minimum : Linux, macOS, Windows
License
  • MIT

U++

U++ is a C++ cross-platform rapid application development framework focused on programmers productivity. It includes a set of libraries (GUI, SQL, etc.), and an integrated development environment.
Pros
  • IDE?
Cons
  • IDE?
  • heavy framework (a-la Qt)
Platforms
  • Linux, Windows
License
  • BSD

nana

Nana is a cross-platform C++ library for creating graphical user interfaces, currently it supports Windows, Linux(X11) and Mac OS(experimental) platforms.

The primary task is to make things simple and intuitive, Nana brings very simple and reasonable concepts to keep it easy. By the modern C++ style, you can get rid of the name constraints and the syntax constraints which are two things making your code stiff. Now you can make your code more straightforward and readable.

Pros
  • c++11
  • seems very active
Cons
  • not battle tested
Platforms
  • Linux, Windows
License
  • Boost v1

libui

Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.
Pros
  • many bindings
  • looks native
  • minimal dependencies
Cons
  • as stated by the author, no documentation
Platforms
  • Linux, macOS, Windows
License
  • MIT

Agar

Agar (or libAgar) is a cross-platform GUI toolkit. Agar provides a base framework and a set of widgets from which graphical applications can be built which run natively under X11, Windows, MacOS X, SDL and others. Agar takes advantage of texture and GPU acceleration wherever available. Agar can also attach to an existing framebuffer, SDL or OpenGL context and operate as a self-contained window-manager. Agar can be compiled with no dependencies (though FreeType is recommended). The API is thread-safe unless documented otherwise.
Pros
  • minimal dependencies
Cons
  • subversion!?
Platforms
  • Linux, macOS, Windows
  • many BSDs, IRIX
License
  • MIT

FLTK

FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation.
Pros
  • lightweight?
  • UI builder
  • cmake
Cons
  • ugly af
Platforms
  • Linux, macOS, Windows
License
  • LGPL 2.0

IUP

IUP is a multi-platform toolkit for building graphical user interfaces. It offers APIs in three basic languages: C, Lua and LED. Its library contains about 100 functions for creating and manipulating dialogs.

IUP’s purpose is to allow a program to run in different systems without changes - the toolkit provides the application portability. Supported systems include: GTK+, Motif and Windows.

Pros
  • actually looks quite complete
Cons
  • sourceforge in 2019!?
  • cruelty towards programmers
Platforms
  • Linux, Windows
  • BSD, SunOS, IRIX, AIX
License
  • MIT

Boost.UI

Boost.UI is a C++ User Interface (GUI) Boost library that is cross-platform, uses native system-provided widgets, has STL-like and Boost-like API, is compatible with other Boost libraries and supports modern C++11/14/17 features.
Pros
  • uses native platform widgets
Cons
  • just a wrapper around wxWidgets
  • boost stigma
  • very new, not battle tested
Platforms
  • Linux, Windows
License
  • Boost v1

LCUI

A small C library for building user interfaces with C, XML and CSS.
Pros
  • css
  • pretty
  • bootstrap available through LCUI.css
Cons
  • a personal project (not battle tested)
  • no hardware rendering (will be slow)
  • no ctrl-c, ctrl-v!?
Platforms
  • Linux, Windows
License
  • MIT

horus_ui

The HorusUI library allows you to quickly develop GUIs for your applications by leveraging the ease of use provided by immediate mode GUI concepts. No need to design your GUI layout and writing many lines of boilerplate GUI preparation, imgui takes care of layouting and making sure every widget you add to the system has an unique ID, gets drawn and responds to events.
Pros
  • looks good
  • has some nice features (native file dialogs & DPI awareness)
Cons
  • embeds its dependencies in source tree (dependency hell guaranteed)
  • premake?
  • enforces OpenGL loader & context lib (glew + SDL)
Platforms
  • Linux, Windows
License
  • MIT

GuiLite

GuiLite is a barebone UI framework with 5000 lines of C++ code, it runs on all platforms (e.g, iOS, Android, Linux, Windows, macOS and Docker container).

GuiLite is embeddable, it runs inside other UI frameworks(e.g, Qt, MFC, Winform, Cocoa). You could use GuiLite features and host UI features simultaneously.

Pros
  • lite
  • themes
  • embedded
Platforms
  • Linux, macOS, Windows
  • Android, iOS
  • Docker, MCU
License
  • Apache-2.0

LittlevGL

Graphics library to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.
Pros
  • pretty
  • fills embedded niche
Cons
  • must use simulators since it is embedded only
Platforms
  • Linux, macOS, Windows
License
  • MIT

dlib

The library provides a portable and simple core GUI API. Implemented on top of the core GUI API are numerous widgets. Unlike many other GUI toolkits, the entire dlib GUI toolkit is threadsafe.
Pros
  • might be interesting if you work in ML
Cons
  • heavy framework which also provides GUI widgets
Platforms
  • Linux, macOS, Windows
License
  • Boost v1

GWork

GWork is a skinnable, embeddable GUI library with an extensive control set. Control rendering is abstracted, and can be implemented by any application wishing to use the library. Gwork (pronounced "gw-orc") is a fork of the GUI library GWEN. It was forked to fix issues with GWEN and add new features.
Pros
  • multiple rendering backends
Cons
  • not battle tested
  • dying?
Platforms
  • Linux, macOS, Windows
License
  • MIT

ivtools

InterViews Glyph objects provide the usual user interface widgets like buttons, scrollbars, pulldown menus, string editors, etc. (They also provide a limited graphical capability; since they don't have a general editing framework the glyph graphics are mostly useful for static pictures, e.g. a graphic inside a button.) We use glyphs to implement layout, look-and-feel, and controls/displays for application programs.
Pros
  • it is available on github and still being updated
Cons
  • where to begin…
Platforms
  • Linux, macOS, Windows
  • SunOS / Solaris, IRIX, BSDs
License
  • BSD

GLUI

GLUI is a GLUT-based C++ user interface library which provides controls such as buttons, checkboxes, radio buttons, and spinners to OpenGL applications. It is window-system independent, using GLUT or FreeGLUT.
Pros
  • might be interesting if you are targeting a hipster retro userbase
Cons
  • very gray
Platforms
  • Linux, Windows
License
  • Zlib

morda

morda is a cross-platform non-intrusive GUI framework dedicated to games and multimedia applications. Its design was inspired by GUI system from Android and many concepts are borrowed from there. Its designed to use modern 3d graphics APIs like OpenGL etc.
Pros
  • hardware rendering
  • available on nuget
Cons
  • doesn’t use cmake (they have hardcoded all platform IDE solutions)
Platforms
  • Linux, macOS, Windows
License
  • MIT

TGUI

TGUI is a cross-platform c++ GUI library for SFML. The gui is easy to use, with only a few lines you can e.g. have a fully functional TextBox on your screen. The widgets can be created by just using colors or by using images, making the look very customizable.
Pros
  • has a GUI builder
Cons
  • requires SFML
  • not very pretty
Platforms
  • Linux, macOS, Windows
  • Android
License
  • Zlib

Telex

Telex is a C++ UI framework. It is a UI framework without widgets - instead the UI is composed using common web tools and frameworks. Therefore Telex is small, easy to learn and quick to take in use.

Pros
  • c++17
  • cmake
Cons
  • not battle tested
Platforms
  • Linux, macOS, Windows
License
  • MIT

WTL

Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more.

Pros
  • very lightweight header only library
  • NuGet package
Cons
  • Windows only
  • Sourceforge!?
  • restrictive licenses
Platforms
  • Windows
License
  • Common Public License 1.0 (GPL-like license)
  • Microsoft Public License (GPL-like license)

Chromium Embedded Framework

The Chromium Embedded Framework (CEF) is a simple framework for embedding Chromium-based browsers in other applications.

Cons
  • ginormous
  • do you really want to embed chromium for your UI?
Platforms
  • Linux, macOS, Windows
License
  • BSD

CopperSpice

CopperSpice is of a set of C++ libraries used to develop cross-platform software applications. This is an open source project released under the LGPL V2.1 license. CopperSpice was derived from the Qt framework. Our motivation for developing CopperSpice was to change the core design and leverage modern C++ functionality.

Our motivation for developing CopperSpice was to change the fundamental design and turn the existing framework into a set of libraries for C++ developers. We are accomplishing this by leveraging modern C++ functionality. CopperSpice currently requires C++14 or newer.

Pros
  • standard c++ fork of Qt
Cons
  • based on Qt
Platforms
  • Linux, macOS, Windows
License
  • LGPL 2.1

FlatUI

FlatUI is an immediate mode C++ GUI library that aims to be a simple, efficient and easy to use way to add menus, HUDs and any kind of other UI to your game or graphical application. It also offers unicode & i18n aware font-rendering.

Cons
  • dying?
Platforms
  • Linux, macOS, Windows
  • Android
License
  • MIT

SFGUI

Simple and Fast Graphical User Interface.

Cons
  • requires SFML
Platforms
  • couldn’t find the list, but I believe : Linux, macOS, Windows
License
  • Zlib

Lgi

LGI is an open source GUI framework (on BitBucket) for abstracting out all the operating system dependencies that you can produce portable code. It handles all the graphical interface functions, threading and semaphores, network connectivity and lots of other bits and peices to help build small, fast and reliable applications.

Cons
  • looks like a lesser Qt
Platforms
  • couldn’t find the list
License
  • couldn’t find it

Verdigris

Verdigris is a header-only library that can be used with Qt. It uses macros to create a QMetaObject that is binary compatible with Qt’s own QMetaObject without requiring moc. In other words, you can use Verdigris macros in your Qt or QML application instead of some of the Qt macros and then you do not need to run moc.

Pros
  • removes need for Qt moc
Cons
  • based on Qt
Platforms
  • doesn’t list, but probably the same as Qt 4
License
  • LGPL 3.0

TK

Tk is a graphical user interface toolkit that takes developing desktop applications to a higher level than conventional approaches. Tk is the standard GUI not only for Tcl, but for many other dynamic languages, and can produce rich, native applications that run unchanged across Windows, Mac OS X, Linux and more.

Pros
  • battle-tested
Cons
  • ugly
Platforms
  • Linux, macOS, Windows
License
  • BSD-like

Dead Projects

I list these simply to keep the list complete, and for fun. I wouldn’t recommend using dead projects in production.

Turbo Badger

Small footprint UI library for hardware accelerated games & applications.

It has no dependency on stl, RTTI or exceptions. Compiling without these features makes footprint very small. Utility classes (such as string, lists, hash table, etc.) are quite minimal for the basic needs of Turbo Badger itself.

Pros
  • actually looks pretty decent
Cons
  • dead

AntTweakBar

AntTweakBar is a small and easy-to-use C/C++ library that allows programmers to quickly add a light and intuitive graphical user interface into graphic applications based on OpenGL (compatibility and core profiles), DirectX 9, DirectX 10 or DirectX 11 to interactively tweak parameters on-screen.
Cons
  • sourceforge
  • dead

MyGUI

MyGUI is a library for creating Graphical User Interfaces (GUIs) for games and 3D applications. The main goals of mygui are: speed, flexibility and ease of use.

The user interface is easy to use and uses delegates (Signals and slots) for easy to use event handling.

Pros
  • last update 2015
Cons
  • still dead

iupa2

IUPA2 stands for 'InterfacceUtentePerArtistiASCII' aka 'User Interfaces for ASCII Artists'.

The following screenshot should be self-explanatory.

Pros
  • lol
  • visionary
  • magical
  • unicorns
Cons
  • “This project was born out of a fun coding session after a beer with a friend, use it at your own risk.”

Game GUI

After trying several gui's more or less suited for games (LibRocket, Qt, NVWidgets, CEgui, etc), I found that none of them was really light weight, easy to use and fully skinable at the same time. This was the reason I started to write my own GUI / C++. The project was completed in about one month.
Cons
  • dead
  • “The project was completed in about one month.”

Glam

The GLAM toolkit is an OpenGL-based cross platform user interface toolkit for creating 2D or 3D user interfaces. Its main purpose is to provide the underlying framework for a user interface, leaving the application specific look, feel and behavior to the developer's discretion. GLAM is about user-interface form following function. In other words, the look and feel of the user interface should follow the purpose it is trying to achieve.
Cons
  • dead
  • sourceforge

LibUFO

LibUFO is a C++ core library for forms respectively graphical user interfaces (GUI). It is mainly used as OpenGL GUI toolkit.

Most standard components (buttons, labels, menus, combo boxes, tab widgets, internal frames etc.) are included. Visual output is customizable via CSS (cascading style sheets) and style classes. Forms can be created via XUL (XML User interface Language, used by Firefox).

Cons
  • very dead
  • sourceforge

Visual Component Framework

The Visual Component Framework was inspired by the ease of use of environments like NeXTStep's Interface Builder, Java IDE's like JBuilder, Visual J++, and Borland's Delphi and C++ Builder. I wanted a generic C++ class framework I could use to build app's quickly and visually (when designing UIs), as well as having the core of the framework be as cross platform as possible.
Cons
  • dead

GiGi

GiGi (aka GG) is a GUI library for OpenGL. It is platform-independent (it runs at least on Linux and Windows, and probably more), compiler-independent (it compiles under at GCC 3.4 or higher and MSVC++ 8.0 SP1 or higher, and probably more), and driver-independent. Reference drivers for SDL and Ogre are provided, and it is straightforward to write one for yourself should you decide to do so.
Cons
  • sourceforge
  • subversion
  • dead

mGui

MGui (MORELLO Graphic User Interface) is a cross-platform graphical user interface written in ANSI C, also providing a C++ API via a frame library. It consists of a library, including all typical GUI objects as menu, push buttons, editable fields, lists etc... and a code generation tool (MGui Designer), which allows the user to create and maintain application window layouts using the mouse.
Pros
  • supports DOS!
Cons
  • I don’t know what to say really…

TOAD

An experimental C++ library to create graphical user interfaces (GUIs) under the X11 windowing system.

Developed since 1995 and provides some interesting features but fails to compete with the manpower behind Gtk or Qt.

Pros
  • cool name
Cons
  • “Failed to compete with the manpower behind Gtk or Qt.”
  • so very dead


Amulet

Amulet is a user interface development environment for C++ and is portable across X11 on all kinds of Unix (Sun, Dec, HP, SGI, Linux, NetBSD, etc.), Microsoft Windows 95 and NT, and the Macintosh. Amulet helps you create graphical, interactive user interfaces for your software.
Pros
  • damn that website is amazing
  • horribly beautiful
  • instant vaporwave theme
Cons
  • none

aedGUI

aedGUI is a cross-plataform, easy-to-use, non-intrusive C++ GUI library that runs on top of SDL, providing themeable widgets without learning Yet Another API.
Pros
  • Great looking widgets!
Cons
  • requires SDL
  • dead


GLOW

The GLOW Toolkit is a cross-platform object-oriented framework for building interactive applications using OpenGL or similar APIs such as Mesa. It is, at its heart, an C++ wrapper for GLUT, providing a fully object-oriented API for creating windows, menus and other GUI elements, and for event handling.

GLOW is designed for write-once-compile-anywhere development, and should be source code compatible with any platform that supports OpenGL and GLUT.

Pros
  • hardware rendering

Motif

Motif is the industry standard graphical user interface, (as defined by the IEEE 1295 specification), used on more than 200 hardware and software platforms. It provides application developers, end users, and system vendors with the industry's most widely used environment for standardizing application presentation on a wide range of platforms. Motif is the leading user interface toolkit for the UNIX system.
Cons
  • looks not so great


OpenGUI

OpenGUI is a high-level multi-platform, thread-safe C/C++ windowing and graphics library built upon a fast, low-level graphics kernel. It provides 2D drawing primitives and an event-driven windowing API for easy application development. The benefit of this library is speed, power, and a well-designed API with a narrow learning curve.
Pros
  • charming outdated UI? maybe?
  • actually looks pretty good for it’s time
Cons
  • download links don’t work anymore

PicoGUI

PicoGUI is an Open Source project to create a new GUI architecture designed to be usable on systems ranging from embedded to desktops.

PicoGUI isn’t X, or X compatible. It’s a completely new GUI framework. It’s design goal is not compatibility with other GUIs, but to explore a unique architecture that especially benefits handheld computers and other embedded systems.

Pros
  • might still be relevant for really low-spec embedded
Cons
  • dead

SmartWin++

SmartWin++ is a 100% free C++ GUI and SOAP library for developing Windows applications both on Desktop, Pocket PC, Windows Mobile or Windows CE based systems, it's free both as in "free beer" and as in "free speech", you can freely use SmartWin++ for commercial applications and for Open Source applications thanx to its BSD license!
Cons
  • windows only, listed since it’s dead
  • dead

wGui

wGui is a simple, platform independent dialog manager library using SDL and FreeType2. Written in C++ (with extensive use of the Standard Library and STL) the intention is to leave all of the antiquated C paradigms out of it (like #defines).
Pros
  • no defines?
Cons
  • requires SDL

WideStudio

WideStudio is an open source, Integrated Development Environment for desktop applications purely made in Japan. This enables you to develop GUI applications that can run on Windows95/98/Me/NT/2000/Xp/Vista, WindowsCE, Linux, FreeBSD, SOLARIS, MacOSX(w/X11), BTRON, T-Engine, mu-CLinux(wo/X11) in various programming languages such as C/C++, Java, Perl, Ruby, Python,Objective Caml
Cons
  • not english
  • heavy framework

Xview

The poor man's object-oriented toolkit for building OPEN LOOK applications for X. The XView toolkit provides extensive attribute-value pair combinations, convenience routines and object class hierarchies...
Pros
  • won “best of the net april 1999”!
Cons
  • must rip out my eyes after looking at the website

Yzone

The GNU Yzone Project is a collaborative software development effort aimed at creating a cross-platform C-library for modular-component GUI programming.
Pros
  • very colorful
  • website is something to behold
Cons
  • why?
  • eyes hurt
  • GNU

Vaca

Vaca is a library to develop GUI applications with C++. It uses templates and STL, and has some special features like dockable tool bars and layout managers.
Pros
  • stl
Cons
  • has passed away

TinyWidgets

TinyWidgets is a 'C' based widget set designed to work with Nano-X API. Nano-X is a part of Greg Haerr's Microwindows. TinyWidgets is distributed freely under the GNU Lesser General Public License (LGPL).
Pros
  • looks quite feature-full
Cons
  • rip


OpenZinc

A C++ graphical user interface for MS_DOS, OS/2, 16 bit Windows, 32 bit windows, classic Macintosh, Linux and any unix supporting motif. A user interface designer is included.
Pros
  • OS/2!
  • MS-DOS!
  • Fast!
Cons
  • rip


axlib

A toolkit to develop better C++ GUI cross-platform multimedia applications.

Pros
  • c++14
Cons
  • dead

ZooLib

ZooLib allows you build native applications for a variety of platforms and processors from a single code base, with little need for platform-specific source.

In the rare event non-portable code becomes necessary, it is simple and easy to include it inline via conditional compilation, using one of the provided preprocessor symbols.

Cons
  • sourceforge

libnui

nui’s GUI system is based on 3D rendered dynamic layouts. Build your visual interface as a composition of widgets and behaviors, and then nui does the rest: positioning, resizing, anchoring, texture streching…

Cons
  • dead

libRocket

libRocket is the C++ user interface package based on the HTML and CSS standards. It is designed as a complete solution for any project’s interface needs.

Cons
  • dead
  • super slow

nvidia-widgets

NVIDIA Widgets is the immediate mode graphical user interface toolkit used by the NVIDIA SDK samples.

Cons
  • dead
  • probably not production ready

Clutter

Clutter is a toolkit for creating compelling, dynamic, and portable graphical user interfaces. Clutter is free software, developed by the GNOME community.

Cons
  • dead

GWEN

Abandoned: GWEN - GUI Without Extravagant Nonsense.

Pros
  • the author updated the description to mark the project as abandoned
Cons
  • abandoned

QuickGUI

QuickGUI is designed to be an easy to use, but efficient and powerful GUI library that works with Ogre3d. QuickGUI is being actively developed, and new versions are released every few months. QuickGUI is input injection based, and works with any input system. The code is clean and well documented which makes it easy to use and extend. There is added focus on skinning which makes it easy for users to customize their GUI’s appearance.

Cons
  • mentions Ogre3D
  • hosted by Ogre3D
  • used with Ogre3D
  • did I mention Ogre3D?

Whisper

Whisper is C++ application framework for the Mac and Windows. Unlike most frameworks it takes advantage of the standard library, design by contract, and modern C++ idioms.

Cons
  • sourceforge
  • dead

V

V is an easy to program, cross-platform C++ graphical user interface framework. V was designed to make it easier to write C++ graphical user interface applications regardless if they are commercial, shareware, or freeware. In addition to OS/2 it supports MS Windows 16 and 32 bit and Unix like operating system via X11, note that the OS/2 version is available in versions for native OS/2 and XFree86.

Cons
  • 32 bits

Andrew

Andrew offers an extensible compound document architecture which can create and combine just about anything, from text to pictures to graphs to spreadsheets to figures, into a single document on your computer screen. The system was aptly presented in a series of articles published in the Linux Journal during 1994.

Pros
  • Andrew Consortium