http://linux.chinaunix.net/doc/program/2005-01-18/811.shtml
http://www.thefreecountry.com/sourcecode/gui.shtml
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 Graphics Libraries, 3D/2D Engines, Animation Libraries, Image Manipulation
- Games Development Libraries and Tools
- Free Sockets and Winsock (Internet) Libraries (SMTP, MIME, POP3, FTP, Telnet, etc)
- Free Audio Libraries, Digitized Voice and Music Libraries
- 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 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
-
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.
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.
Trolltech Qt/X11, Qt/Embedded and Qt/Mac Open Source Edition
-
Trolltech provides its Qt GUI toolkit under the GNU GPL for Unix systems. At the time I write this, they have also announced that they will be releasing Qt version 4 under GPL for Windows as well. If, however, you wish to develop using Qt 3, you can check out the QT3/Windows toolkit mentioned on on this page.
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).
ReWind - Re-Engineering Windows
-
ReWind is a fork of the Wine project back when it was still licensed under the MIT/X11 license. Some developers prefer using this license, especially for commercial projects, to the GNU LGPL. Like Wine, it is an open source implementation of the Windows API, thus allowing you to port your Win API applications to supported systems (like Linux) without having to rewrite it for a different API.
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.
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.
MicroWindows
-
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.
HCL
-
HCL is a C++ framework for X Windows applications that is based directly on Xlib. The user interface is described in a language somewhat like that used in Windows and OS/2's resource files, and compiled using a resource compiler that is part of the package. The library and its tools are distributed under the GNU LGPL.
Viewkit
-
This is a C++ application framework that requires Motif. The company that develops it tells me that there has been reports that it also runs with Lesstif as well. The Linux version is free when you register at their website.
Graphics Vision
-
This object-oriented GUI class library has an API that is compatible with Borland's Turbo Vision. You can thus recompile your existing Turbo Vision programs (which are text-based) with this library to give it a graphical interface. It has support for TrueType, vector and VGA fonts; as well as support for Turbo Vision and Windows resource files. It is free for individual use and requires Turbo Pascal 7.0 or Delphi 1.0. If you don't have these, you can always use the version designed for the Free Pascal Compiler (see elsewhere on this page).
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). If you want one for Turbo Pascal 7.0 or Delphi 1.0, see elsewhere on this page for the other version.
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. It is portable to both Macintosh and Win32. It contains numerous debugging tools. If you need to write an application that is portable across Mac and Windows, it may be worth your while to check this out.
CodeWeavers Wine Preview
-
The CodeWeavers Wine Preview is based on an early version of Wine. It includes a Wine Configuration Wizard, a Wine Launcher the Winemaker porting tool and of course Winelib. Winelib allows you to link your Windows source code with the Wine libraries, thus providing you with an easy way of making your Win32 API applications run on Linux (instead of rewriting your GUI source code to use X).
TWIN
-
This is an excellent library for Windows programmers who want to port their application to Unix and Macintosh. The library provides an emulation of the Win32 API so that you can simply compile your program on the Unix-based system and link it with the library, and, voila! They even have a working winhelp that will work under Unix so you don't have to even convert your documentation! The sources are distributed under GNU LGPL. OSes supported include Linux, Solaris, AIX, HP/UX, MacOS, SunOS, SGI IRIX, SCO Unix, SCO Unixware, and Digital Unix. Processors supported include Intel x86, Sparc, Alpha and PowerPC.
OpenAmulet
-
This public domain C++ toolkit has built-in support for animation, UNDO, a variety of widgets (buttons, check boxes, radio buttons, menus, scroll bars, scrolling windows, text input fields), etc. It supports Win32, Linux, Solaris, Mac, among others.
FLTK (Fast Light Tool Kit)
-
This C++ GUI toolkit, Fast Light Tool Kit, works under X Windows, OpenGL and Windows 95/98/NT, making it very useful if you have to write a program that works on a variety of platforms. It works on OS/2 too, if you have XFree86 for OS/2 installed. The source code is released under LGPL. 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.
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.
WxWidgets
-
A free multi-platform C++ GUI library with bindings for the Python language. It has ports for Windows 3.1, Windows 95/98/ME/NT/2k/XP, Macintosh, OS/2 and various Unices (Linux, FreeBSD, Solaris, AIX, HP-UX, IRIX, SCO UnixWare). The Unix ports requires either GTK, Motif or Lesstif. Old versions which use XView are also available.
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.
Related Pages
- Free Source Code and Programming Libraries
- Free Setup (Installer) Utilities
- 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 Would You Recommend? (FAQ)
Newest Pages
- How to Create/Start Your Own Website: The Beginner's Guide
- How to Perform a Full Manual Defragmentation of Your Hard Disk Under Windows Vista
- More Tips on Google Search Engine Results Placement
- How to Create a Bootable Windows XP Setup CD/DVD on a Preinstalled Windows System
- How to Record or Save Streaming Music or Audio
- Free DVD/CD Emulators, Free Virtual CD/DVD Drives
- Free Digital Audio Editors / Free Digital Sound Editing Software
- Free Device Driver Backup and Extraction Utilities
Popular Pages
- Free Spyware/Adware/Trojans/Keyloggers/Hijackers Removal, Detection and Prevention Tools and Sites
- Free Antivirus Software
- Free Anonymous Surfing and Proxies (Anonymous Proxy Services)
- Free CD and DVD Burners and Copying Software
- Free Data Recovery, File and Partition Recovery, Undelete and Unformat Software
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
- How to Design and Publish Your Website with Nvu (free WYSIWYG web editor) (Tutorial)
- Appearance, Usability and Search Engine Visibility in Web Design