Free GUI Libraries and Source Code
Graphical User Interface libraries/source code for a more portable application
Free GUI Libraries and Source Code
The libraries and source code listed here allow you to design a graphical user interface, or GUI, for your application at a high level, and perhaps non-operating system specific, manner. This eases your coding, and might make your application portable among different platforms, useful if you plan to port it later. Some of the libraries here may also come with a GUI builder, which allow you to design the appearance of your application visually.
If you are looking for 3D or 2D engines, image or drawing libraries, animation libraries, and the like, please check out the Free Graphics Libraries, 3D Engines, 2D Engines, Animation Libraries, Image Drawing Libraries page as well as the Free Games Programming Libraries and Source Code, instead. Libraries to handle sound, music, digitized voice, and other audio related functions may be found on the Free Audio, Sound, Music, Digitized Voice Libraries and Source Code page.
Related Pages
- Free Sockets and Winsock (Internet) Libraries (SMTP, MIME, POP3, FTP, Telnet, etc)
- Free Mathematical, Numerical and Statistical Libraries
- Free Compression and Archiving Libraries
- Free Database Libraries, ODBC drivers, SQL servers and Tools
- Free Encryption Libraries and Source Code
- Free C/C++ Libraries
- Free Pascal Libraries, Delphi Libraries and Components
- Free Drawing and Painting Software, Image and Photo Editing Programs
Disclaimer
The information provided on this page comes without any warranty whatsoever. Use it at your own risk. Just because a program, book, document or service is listed here or has a good review does not mean that I endorse or approve of the program or of any of its contents. All the other standard disclaimers also apply.
Free GUI Libraries and Source Code
- IUP

IUP is a cross-platform library for C, Lua and LED. It provides the facility to create and manipulate a large number of GUI primitives like dialog boxes, labels, buttons, text, multi-line boxes, list boxes, toggles, menus, submenus, file selection dialog boxes, and so on. Platforms supported include Windows (using the Win32 API), Linux (using GTK+), FreeBSD (using GTK+), SunOS (using Motif), IRIX (using Motif) and AIX (using Motif). This library is licensed under the MIT licence.
- FLTK (Fast Light Tool Kit)
This C++ GUI toolkit, Fast Light Tool Kit, works under Unix-type systems (like Linux), Windows and Mac OS X, making it very useful if you have to write a program that works on a variety of platforms. It supports 3D graphics by using OpenGL. The source code is released under GNU Library Public License (also known as the LGPL) with exceptions that allow static linking. There is also an interface builder that generates a human-readable, editable C++ code for you. If you write C++ GUI programs for a number of platforms, and want a portable high level library that takes care of the lower level details of each platform for you, you might want to check this out.
- Qt Cross Platform Application Framework
Nokia provides the Qt GUI toolkit under the GNU General Public License (GPL). This class library / framework lets you develop cross-platform applications for a number of operating systems including Unix-type systems (like Linux) as well as Windows. It also comes with a number of developer tools like a GUI Designer that lets you rapidly create a GUI layout and forms for your application. (For those who are curious, Qt was formerly owned by Trolltech. It was bought over by Nokia.)
- WxWidgets
A free multi-platform GUI library for C++, Python, Perl, and C#. Platforms supported include Win32, Mac OS X, Unix-based systems (like Linux, FreeBSD, etc) and WinCE. The Unix-based versions require either GTK+ or Motif. The library uses the operating system's native controls rather than redrawing its own, thus giving your application the look and feel of an application native to the system it is running on.
- QT3/Windows Free Edition
QT3/Windows is a port of Trolltech's GPLed Qt/X11 sources to Win32. It is thus covered under the GNU GPL. It supports the MinGW, Cygwin, Borland and Visual C++ compilers.
- MGui
MGui, or the MORELLO Graphic User Interface, is a cross-platform GUI written in ANSI C. It has the usual widgets like menus, push buttons, editable fields, lists. It comes with a code generation tool so that you can design and maintain your interface visually. Platforms supported include Windows 3.1, 95, 98, NT, X Window, DOS. The GUI may not be used for commercial purposes. Only binaries are supplied. The library does not appear to have been updated for quite a long time.
- MiniGUI
If you need a lightweight cross-platform GUI for real-time embedded devices and an embedded graphics middleware, you may want to check out MiniGUI. It runs on Linux/uClinux, eCos, VxWorks, pSOS, ThreadX, Nucleus, uC/OS-II, Win32. Hardware platforms tested with it include Intel x86, ARM (ARM7, ARM9, StrongARM, xScale), PowerPC, MIPS, and M68K (DragonBall, ColdFire). You can run it with support for threads, processes or compile it to run standalone. It has support for built-in resources like bitmaps, icons, fonts. It has a multi-window and messaging mechanism, commonly used controls like labels, buttons, multi-line edit boxes, list boxes, combo boxes, progress bars, property sheets, toolbars, track bar, tree view, list view, month calendar, grid view, animation, etc, as well as support for dialog boxes and message boxes. You can also use menus, accelarator keys, the caret, timers, Windows resource files, popular image file formats (GIF, JPEG, PNG, Windows BMP, etc), multiple character sets, fonts, etc. The graphics API allows you to do raster operations such as create complex regions, draw and fill ellipses, arcs, polygons, etc. There is also special support for embedded systems such as common I/O operations, byte-order functions, touch screen calibration, etc. The library is released under the GPL. Be sure to select the GPL open source package when you download.
- SmartWin++
SmartWin is a C++ abstraction of the Windows API. It is designed to by type safe and be as thin a layer over the Windows API as possible. It currently requires you to either have the free Microsoft Visual C++ compiler (scroll down that page for more information) or the commercial Microsoft Visual Studio C++ 7.1, since the library is designed specifically for that compiler.
- Winelib and Wine
Winelib is a development toolkit that is included in Wine (the open source implementation of the Windows API, both Win32 and Win16). It allows you to compile and link your Windows source code so that it runs under systems that support Wine (like Linux, FreeBSD, etc). Although, at the time of this review, the process is not as smooth as developers would like it to be (ie, you can't just take your Windows source code and recompile with gcc -lwine), it makes porting your applications considerably easier since you don't have to rewrite your application to use a different API. Wine and Winelib is licensed under the GNU Lesser General Public License (LGPL).
- GtkAda Ada95 Graphical Toolkit
GtkAda is an Ada95 graphical toolkit based on Gtk+ (a graphical toolkit for X-Window and Windows). The language bindings allow you to access all the widgets in Gtk+. The toolkit is distributed under a modified GPL license that allows the creation of proprietary software. The toolkit has been tested on Linux (x86, Sparc, PowerPC), Solaris (x86 and Sparc), Tru64, SGI IRIX, HPUX, Windows NT, Windows 2000, AIX, FreeBSD, and UnixWare.
- Windows++
Windows++ is a C++ application framework that has a small footprint. It works with Win32 and Windows 3.1. The framework is the one described in the book of the same name (in the Andrew Schulman Programming Series).
- Fox Toolkit
Fox is a C++ graphical class library that allows you to develop portable GUI applications that run on numerous platforms. It has a number of controls, icons, images, status line help, tooltips, supports drag and drop, selection as well as OpenGL widgets for 3D graphical manipulation. Among the platforms supported are Linux, FreeBSD, SGI IRIX, HP-UX, IBM AIX, Sun Solaris, DEC/Compaq Tru64 Unix, Windows 9x/ME, and Windows NT/2000.
- Nano-X Window System
The Nano-X Window System (formerly MicroWindows) is an Open Source project that allows you to add a graphical windowing environment to your applications that are designed for smaller devices and platforms. It does not require any operating system or graphics system support and writes directly to the display hardware. Very handy if you're developing for the portable handheld and pocket PCs (Palm, etc). They support the Win32 API as well as the Nano-X API, so you should probably be able to port your Windows programs more easily. If you are a PDA developer, you might want to check this out.
- OpenMotif
This is not a clone of Motif, but the actual Motif itself. The developers have now made Motif a sort of open software with source code and binaries freely available for download. However, the licensing allows you to use it free of charge only on open source operating systems like Linux and FreeBSD. Precompiled binaries for the latter two operating systems are available.
- Graphics Vision For The Free Pascal Compiler
This is a free implementation of Borland's Turbo Vision which provides an object oriented user interface. Unlike Turbo Vision, this is graphics based, and has support for TrueType, vector and VGA fonts, etc. This particular version is designed for the Free Pascal Compiler (see the Free Pascal and Delphi Compilers page). It works not only on the MSDOS platform, but also on Linux as well (using SVGALIB).
- Lazarus
This is a set of class libraries for the Free Pascal compiler (see the Free Pascal Compilers page) that will enable it to understand and compile Delphi syntax. Now you can actually develop Delphi programs without having to purchase the commercial product - just get Free Pascal, Lazarus and write your code. There's even an additional advantage to using this over the real Delphi - this one is portable: you can actually compile your Delphi source code for all the platforms supported by Free Pascal (Win32, Linux, OS/2, Amiga OS, etc). The libraries are distributed under the GNU LGPL, which means you can actually distribute your programs (commercial or otherwise) without needing to distribute source code, if that is what you want. Note that while the project comes with an IDE, the Rapid Application Development (RAD) portion of it is far from complete (at the time of this writing). The project is currently still under development.
- Whisper
Whisper is a general purpose C++ application framework, which takes advantage of templates, multiple inheritance, STL and exceptions and design by contract. It is portable to Windows, POSIX systems (like Linux and the BSD systems), and Mac OS X and Classic.
- TOAD C++ GUI Class Library
A C++ GUI frameworks for use with X Windows systems. Requires the GNU C compiler or EGCS.
- Lesstif
This is a clone of Motif that run on various Unices and Unix-clones.
- VCF Visual Component Framework
VCF is a C++ application framework designed for Rapid Application Development (RAD). It has various graphics classes, including support for anti-aliased vector graphics; image loading support for various graphic formats (TIFF, TGA, PSD, PNG, SGI, MNG, RAS, PBM, PPM, etc); facilities for drawing graphics; application classes for handling resources, loading windows or forms, saving application state; Undo/Redo support; GUI controls; etc. It uses modern C++ features like exceptions, templates, STL, and name spaces. It is intended to be portable across systems, although at the time this was written, it has only released versions for Windows; the Linux and Mac OSX ports are not yet available. The framework is licensed under the BSD License.
- V: Free Portable C++ Gui Framework
V is a free multi-platform C++ GUI, supporting Windows, OS/2, Linux and other Unices (using the X Athena, Motif or Lesstif widgets). It is released under the GNU LGPL. Your application will have the look of the native operating system, but your code is supposed to be portable across the supported platforms. There is support for menus, status bars, tool bars, a drawing canvas, text entry, check and radio buttons, modal and modeless dialog boxes, platform independent printer support, timers, OpenGL, etc. This project appears to have been abandoned.
Related Pages
- Free Compiler Construction Tools
- Free Programming Language Grammars
- Free Disassemblers, Hex Editors, Hex or Binary Viewers
- Free Resource Editors, Resource Compilers, Icon Editors
- Budget Web Hosting
- Good Books on Programming Techniques
- Which Web Host Do You Recommend? (FAQ)
Can't Find What You're Looking For?
Search the site using Google.
Newest Pages
- How to Rescue Your Website from the Clutches of a Bad Web Designer or Bad Web Host
- How to Created Rounded Corners for Your Box Borders in CSS
- How to Add a Feedback Form to Your Website with Dreamweaver CS5
- Dreamweaver CS5 Tutorial: How to Design a Website with Dreamweaver CS5
- What is MySQL? What is a Database? What is SQL?
- Free / Open Source Non-SQL Database Servers and Engines
- Free Royalty Free Music and Sounds
- Free Programmer's Fonts
- How to Point a Domain Name to Your Website (Or What to Do After Buying Your Domain Name)
- Should You Choose a Linux or a Windows Web Hosting Package? Is There Such a Thing as a Mac Web Host?
- How to Add a CAPTCHA Test to Your Feedback Form Script: Reducing Spam in Your Contact Form
Popular Pages
- How to Create/Start Your Own Website: The Beginner's A-Z Guide
- How to Register Your Own Domain Name - how to get your own domain name
- How to Create a Website with Dreamweaver CS4 (Dreamweaver Tutorial)
- How to Create a Bootable Windows XP Setup CD/DVD on a Preinstalled Windows System
- Free Partitioning Software - Copy, Create, Move, Resize, Convert, Undelete Partitions
- Free Data Recovery, File and Partition Recovery, Undelete and Unformat Software
- How to Create an Emergency Windows Rescue CD
- Free DVD Authoring and Creation Software
- Free CD and DVD Burners and Copying Software
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
How to Link to This Page
It will appear on your page as:
Free GUI Libraries and Source Code
