所有的GUI Toolkit,类型之多真开眼界
The GUI Toolkit, Framework Page
User interfaces occupy an important part of software development. This page provides a comprehensive reference on toolkits for building graphical user interfaces (GUIs), with emphasis on resources for Free Software (Open Source). This page focuses on personal computers but also references some offerings for embedded products.
Note to people using the geocities.com site: if you see the site down due to bandwidth limit being exceeded, please consider using the other site listed below
GUI Toolkit developers: please let me know of news/changes to your projects/products so I can update this page accordingly.
This page resides in http://www.geocities.com/SiliconValley/Vista/7184/guitool.html and
http://www.atai.org/guitool/
Page created April 17, 1997 (86). recent changes
Free toolkits: C/C++Javaother languages | commercial toolkits: C/C++Java | Related links |copyright
GPL: GNU General Public License
LGPL:GNU Library/Lesser General Public License
PD: Public Domain
BSD: BSD or X11-like license (commonly allowing you todo whatever you want provided the original copyright notice is kept and credit given)
Art: The Perl Artistic License
MPL: Mozilla Public License
Free Toolkits (including both Free (in the GNU sense) and no-cost ones)
C/C++ oriented
(unless explicit stated with "C API", all toolkits in this table provide APIs in C++)
Name | Comments | license | Unix X11+ | UnixX11+Motif | MS Win 95/98 | MS Win NT/2000/ XP/Vista |
MS Win 3.1 | OS/2 PM | MacOS | NextStepOpenStep MacOS X |
other platforms |
---|---|---|---|---|---|---|---|---|---|---|---|
AbiWord 's cross platform layer | cross-platform framework in C++ see interesting development methodologyfor more info Unix version built on gtk+ |
GPL | y | y | y | y | QNX and BeOS | ||||
AbsoluteX | n open source free class library primarily developed for use with X Window System. Uses libsigc++. | LGPL | y | ||||||||
aedGUI | a cross-plataform, easy-to-use, non-intrusive C++ GUI library that runs on top ofSDL | LGPL | (via SDL) | (viaSDL) | (via SDL) | (via SDL) | (viaSDL) | (via SDL) | (via SDL) | (via SDL) | (via SDL) |
Agar | a high-level graphical C application framework aimed primarly at 2D/3D games and simulations. Agar applications are portable to a variety of platforms thanks to theSDL.support for SDL 2D andOpenGL rendering. Thread safe | BSD | y (via SDL) | (viaSDL) | y (via SDL) | y (via SDL) | (viaSDL) | (via SDL) | y (viaSDL) | y (via SDL) | other platforms supported bySDL |
Amiga Foundation Class | aims to support Amiga and X11 | art | ? | Amiga (?) | |||||||
AlfaGUI | a small GUI library for DOS, useful for embedded applications | y | DOS 16/32 bit | ||||||||
Amulet OpenAmulet ![]() |
research-oriented toolkit from CMU. native look andfeel. High-level support for interactive interfaces: Direct Manipulation Behaviors, Undo, Animation, etc. original project at CMU completed andNolonger supported. However, another group has picked up development as OpenAmulet. | PD | y | y | y | y | |||||
Andrew | research system from CMU. C and C++ API. | BSD | y | ||||||||
Bakery | a C++ Framework for creatingGNOME applications using Gnome-- and Gtk--. |
LGPL | y | ||||||||
Berlin Fresco (new) |
a totally new window system for Unix/Linux that alsoincludes high level APIs for GUI programming. Very experimental asit buids upon OpenGL and CORBA. Successor of FrescoandOffix.Also listed as an alternative windowing system Berlin renamed to Fresco in 2002, taking on the name of the old GUI toolkit Fresco |
LGPL | |||||||||
BGUI | GUI library for Amiga.based on BOOPS. C API. | freely distributable | Amiga | ||||||||
CG(link broken?) | GUI toolkit of the Arachneproject | BSD | y | y | y | y | |||||
CLX![]() |
(Component Library for Cross-platform) Cross-platform library for, and part of, Delphi, Kylix and CBuilder - Based on top of Qt, Linux only |
GPL | y | ||||||||
Coral![]() |
very powerful and completeadvanced application framework with strong GUI components. Advanced functionalities for non-GUI tasks like networking, shared memory, etc. | Art | y | y | y | Amiga (old versions) | |||||
C++/Tk, cpptk | C++ interface to the Tklibrary tries to provide not only the Tk functionality, but also its way of writing code, based on the syntax used in Tcl/Tk. | BSD | y | y | y | y(?) | |||||
CroPL | a C++ application framework and utility library for single-source Mac/Windows applications | non-profit use only | y | y | y | y | |||||
Cvo | BSD | y | |||||||||
CX | an "UI utility with themes support." just begin. | LGPL | y | ||||||||
DCLAP | bare-bone application framework. Nolonger developed and maintained for 3 years already | noncommercial only | y | y | y | y | y | ||||
EasyGTK(link broken?) | EasyGTK is a wrapper library to make GTK programmingeasier, and quicker | GPL | y | ||||||||
Epeios | Collection of general purposes libraries essentially coded in C++ and working under UNIX and Windows. containing GUI library | GPL | y | y | y | ||||||
ET++ | project is completed. successor is MET++. | BSD | y(?) | y(?) | |||||||
EZWGL![]() |
C API. motif look and feel. | LGPL | y | ||||||||
Fltk![]() |
The Fast Light Tool Kit. API modeled after Xform,but in C++. SGI Motif look and feel. good documentation.(Fluid, an UI builder) | LGPL with additional permissions | y | y | y | y | y | y |
Microwindows/NanoGUI/Nano-X |
||
FOX![]() |
C++-based toolkit on top of XLib. MS Win 95 look.under development | LGPL with additional permissions | y | y | y | y | |||||
Fresco(old)
also see Berlinas the new Fresco |
Advanced research toolkit formly supported by theX Consortium but now independently developed. Successor to Interviews.(alt. page)(Java version) (another info page) development stopped, succeeded by Berlin |
BSD | y | y | y | y | |||||
GEM | The old GUI environment for MSDOS and Atari ST (about1985), now free software | GPL | MS-DOS and Atari ST | ||||||||
GEM++ | C++ classes for GEMprogramming, for Atari ST. | LGPL | |||||||||
GINA | a research project, is completed.(ftp) | y | |||||||||
GLOW![]() |
"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 also features an extensible cross-platform widget library for building powerful user interfaces."Note:Thusportable to any platform where a functional OpenGL implementation exists(including Mesa ) | LGPL | note | note | note | note | note | note | note | note | note |
GLUI![]() |
An OpenGL /GLUT-basedGUI toolkit. Rendering is done entirely in OpenGL. Win 95 lookand feel. Note:Thusportable to any platform where a functional OpenGL implementation exists(including Mesa ) | LGPL | note | note | note | note | note | note | note | note | note |
GNOME (libs)![]() |
the GNOME desktopalso servesas an application framework, C API. Requirersgtk+ | LGPL | y | ||||||||
GNUstep![]() |
envolving NextStep/OpenStep clone. C/Objective CAPI.Version 0.6.6 just released | LGPL | y | ||||||||
gnewt | a gtk+-based toolkit for writing simple user interfaces | LGPL | y | ||||||||
grafix | a library for "drawing pictures, functions or othergraphic objects in an interactive manner" or simple graphical user interfaceconstruction" with emphasis on visualization, not UI | GPL | y | ||||||||
GraphAPP | C API. a small toolkit for teaching. | ? | y | y | ? | ? | y | ||||
gtk+![]() |
The GIMP Toolkit.developed as part of the GIMPproject. Now at version 2.2. C API. IS the leading toolkit in the free software community in conjuction with Qt. variable look and feel(default:Motif). (ftp) (mailing list) (gtk--,a C++ wrapper)(GtkkitandGtoolkit , ObjectC wrappers) (wxGTK, WxWindows port to gtk+ (C++ API)) (gtkv,Vport to gtk+ (C++ API)) (VDK , SDPGTK, Inti, other C++ wrappers) glade, grad, epingle,UI builders for gtk+ and gtk-- libglade ![]() |
LGPL | y | y | y | in progress | BeOS , Linux console,DirectFB | ||||
gtkmm (gtk--)![]() gnomemm (gnome--) |
complete C++ wrapper for gtk+and GNOME. Uses modern C++ features (templates, etc.) for type-safe callbacks and signal/slots with libsigc++ .glade--,GUI builders for gtk-- related: gnomemm, c++ bindings for GNOME |
LGPL | y | ||||||||
GuiToolkit | "a class set which allow You to build applications with new Microsoft interface style .It includes more than 50 of MFC classes" | no cost use | y | y | |||||||
Harmony | attempts to create a Qt clone witha true Free Software license. Development is halted. | LGPL | unfinished | ||||||||
Hv | C API. | ? | y | ||||||||
Interviews ivtools ![]() |
Ivtoolsis an actively maintained and envolved version of Interviews, formerly by Vectaport Ivtool apps can be embedded inside Motif and Xt canvas. Ivrools contains an application framework,a GUI widget framework,A command interpreter , drawing editor application framework,command interpreter into the drawing editor andgraph/network application Interviews (ftp) was an early advanced toolkit whose development stopped around 1993. conceptual successor is Fresco. |
BSD | y | ||||||||
Inti | a set of integrated foundation libraries for developingC++ applications on UNIX-like systems such as Linux, including C++ wrapper forgtk+.(2.0 only) new developer, now in version 1.0 beta. | LGPL | y | ||||||||
IUP | ANSI C, native controls, custom contros, abstract layout, only a few functions, Lua Scripting | freely distributable | y | y | y | ||||||
IBTK | a small, "basic self-contained no-frills toolkitto create platform-independent GUI software (in C++) | GPL | y | ||||||||
JAPI | Written in JAVA and C, provides the JAVA AWT Toolkit to non object oriented Languages like C, Fortran, Pascal, Ada and even Basic |
LGPL | y | y | y | y | |||||
JUCE![]() |
an all-encompassing C++ class library for developing cross-platform applications | GPL | y | y | y | ||||||
KaiView | stalled in favor of the LIP . recently resumed | ? | y | ||||||||
KDE(libs)![]() |
KDE desktop also serves as anapplication framework. Requires Qt | LGPL | y | ||||||||
LessTif![]() |
an envolving Motif 1.2 clone. getting close to becomea complete Motif substitution. C API. | LGPL | y | ||||||||
LGI (Lightweight GUI Interface) | also for BeOS "a small enough library that one person can understand it all." |
LGPL | y | y | y | BeOS | |||||
libgui | C API. | BSD | y | ||||||||
libgx | a lightweight, non-intrusive, public-domain C++ widget library for writing X11 applications | public domain | y | ||||||||
libsx | "the Simple X library -- is a lightweight wrapperlibrary sitting on top of the Athena Widget set." C API | LGPL | y | ||||||||
LIP | Linux Interface Project. still under development, in the beginning stage. development stalled? | LGPL(?) Art(?) |
y | ||||||||
MacAPP | Apple 's Mac framework, probably the first widely available GUI framework. No longer supported by Apple but third party development atwww.clubmacapp.com | MacAPP license | y (unfinished) | y (unfinished) | y | y | |||||
Marx | C API. the GUI toolkit is part of a C-like scriptlanguage for quickly building GUIs, although also usable from compiled C. Motif look and feel. | GPL | y | ||||||||
MacZoop | C++ API. Framework on top of Carbon API. | MacZoop license | y | y | |||||||
MET++ | "an object-oriented application framework .... providingreusable objects for 2D graphics, user interface components, 3D graphics,video, audio, and music." based onET++. | ? | y | ? | y(?) | y(?) | |||||
MGUI | C API. | ? | y | y | y | y | |||||
Microwindows![]() |
a small windowing system providing Win32 and X11API, targetting embedded systems. C API | MPL, GPL | y | MS-DOS, Linux framebuffer, RTEMS, Linux SVGAlib | |||||||
MiniGUI![]() |
" a compact Graphics User Interface (GUI) support system for Linux. MiniGUI defines some Win32-like APIs for the applications. The goal of MiniGUI is keeping its features of small and exquisiteness to provide a small windowing system support library." | LGPL | y | Linux framebuffer, Linux SVGAlib and libCGI | |||||||
(Motif) OpenMotif ![]() |
The real Motif, the traditional standard Unix X11 toolkit, now moving toward free/open source software. C API. | OpenGroup Public License(free for free/open source unices only) | y | native | |||||||
Motif++ | C++ wrapper for motif. | ? | y | ||||||||
notif | written in object-oriented C. C API. Motiflook and feel. (announcement) | GPL | y | ||||||||
NGL, NUI![]() |
LGPL | y note | note | y note | y note | note | note | y note | y note | note | |
NWS | distributed as part of Pavuk.C API. | GPL | y | ||||||||
OPaC(link broken?) | "a highly portable user interface toolkit with dynamicedition." look and feel and behavior are adjustable/editable at run time | "OPaCFree Public License" | unfinished (?) | y | y | unfinished | unfinished | ||||
OpenOffice(as an GUI application framework )![]() |
possibly modern forms ofStarView? containing a complete application framework and GUI library as the basis of an office suite, including low level GUI toolkit (VCL),application framework,graphics applications services | GPL/LGPL/SISSL | y | y | y | ||||||
Offix | a very rich C++ interactive application API withclasses for X11 windows, images, events, clipboards, inter-application communications, styles for look and feel, layout management and drag anddrop. Also has classes for Unix system services. Open Look and Motiflook and feel. In alpha release. No longerdeveloped, work merged intoBerlin | LGPL | y | ||||||||
OpenGUI | a small graphics & windowing library built upon a fast, low-level x86 asm graphics kernel. Windows 95 look and feel | LGPL | Linux console, MS-DOSDJDPP, QNX | ||||||||
ParaGUI | a high-level crossplatform application framework and GUI library. It is completely based on the SimpleDirectMedia Layer (SDL). Works on any environment where SDL exists. | LGPL | y (via SDL) | y (via SDL) | y (via SDL) | y (viaSDL) | |||||
PicoGUI | "a new Graphical User Interface architecture designed with embedded systems in mind. ... includes low-level graphics and input, widgets, themeing, layout, font rendering, network transparency, and debugging features." Also can be an alternative windowing system (when running on framebuffers) | GPL/LGPL | y (native or via SDL) | y | y | y (via SDL) | Linux frame buffer, numerous embedded devices (see this list) | ||||
Pingo | a C++ class library and framework for X Window Systemwith OSF/MOTIF look-and-feel. API is similar to the Java AWT API. | LGPL | y | ||||||||
Qt![]() |
a high-quality framework. hasadvanced features not present in other toolkits, such a full 2d graphics API (with rotations, scaling, shearing, etc.), metafile support, same code for screen and printer output. variable look and feel (default:Motif or Win95). at version 4 KDevelop, EBuilder, Qt Architect , QtDesigner andQtEZ, UI buildersfor Qt Qwt, additional GUI components for Qt for scientific appl |
Qt Free Edition license(1.x series, X11 versiion) QPL( Qt 2.x series, X11 version) QPL and GPL(Qt 2.2 and later, X11 version) (Windows and MacOS X) (GPLed) |
y (QPL and GPL) | y (GPLed) | y (GPLed) | y(GPLed) | Qt/Embedded: for the Linux frame buffer without X. | ||||
SmartWin | a small sized, extremely type safe, no overhead what so ever, fully template based C++ GUI library for Windows API (formerly known as Win 32 API). | GPL plus additional permissions | y (?) | y | |||||||
STDWIN | C API. No longer supported. | ? | y | y | |||||||
SUIT | Simple User Interface Toolkit. C API. | ? | y | y | y | ||||||
Taronja | information in Spanish... no English info available. | BSD | y (?) | ? | |||||||
Tk | good widget set but not frequently used as a pure C library. Widely used in combination with high-level script languages (Tcl, Scheme,Python,Perl,etc.). C API. Native look and feel. | BSD | y | y | y | y | y | y | |||
TOAD | in early stage, still alpha | LGPL | y | ||||||||
Trixul | Trixul is an XML and JavaScript GUI toolkit that supports MacOS X, Linux, and Windows environments directly via Cocoa, Gtk+, and .NET native implementations. JavaScript code can call C++ directly. | BSD | y (on top of gtk+) | y (on top of .Net Forms) | y | ||||||
TWIN/The Willows Toolkit |
implementation of MS Windows API on other platforms.C API. | LGPL | y | native | native | native | y | ||||
Ultimate++ | C++ toolkit that "achieves significant reduction of code complexity for most applications when compared to other development platforms" | BSD | y | y | y | ||||||
V![]() |
Common C++ wrapper for many platforms. a good "competitor"ofWxWidfgets.native look and feel. (gtkv, gtk+ port of V) | LGPL | y | y | y | y | y | y | |||
VDK | "Visual Development Kit", a C++ wrapper for gtk+(VDK Builder, a RAD tool for VDK) | LGPL | y | ||||||||
Vibrant (NCBI Toolkit) | part of National Center for Biotechnology Informationsoftware development toolkit, a multi-platform user interface developmentlibrary that automatically handles the behavior of GUI objects, with callbacksto programs | y | y(?) | y(?) | y(?) | y | |||||
(TheHungry) ViewKit | a clone of the SGI (ICS) Viewkit.Currently not being developed. | LGPL(?) | (in the future with lesstif) | y | |||||||
ViewKit (ICS) | C++ framework for Motif. Freely available for Linux Only. | no-cost (for Linux only) | y | ||||||||
VCF![]() |
Visual Component Framework, "a simple to use cross platform GUI framework, with many of the advanced design features of Java and Java's Swing, and Borland's Visual Component Library.Also provides advanced RTTI/Introspection features common in languages like Object Pascal, Objective C, Smalltalk, and Java, but not typically found in C++" | BSD | in development | y | y | in development | |||||
VXCL | The Virtual X Class Library. API strongly linked to the Win32 API. | LGPL | y | y | y | y | |||||
VxLib | Visual Text Library, a "character cell"-based librarylike text mode but displayed in a X window | GPL | y | ||||||||
Wafe | "Wafe (Widget[Athena]front end) is a package thatimplements a symbolic, string based interface based on Tclto the X Toolkit, the Athena Widget Set , Motif and various complementary widget classes and extension packages. " C API. | BSD | y | y | |||||||
wGui |
a simple, platform independent dialog manager library using |
LGPL | (via SDL) | (viaSDL) | (via SDL) | (via SDL) | (viaSDL) | (via SDL) | (via SDL) | (via SDL) | (via SDL) |
Whisper![]() |
"general purpose Mac/Win32 C++ application framework. successor to the Mac framework Raven. is a modern framework that takes advantage of templates, multiple inheritance, STL, and exceptions. is designed around the notionofDesign by Contract and includes numerous debugging tools." |
BSD | y | y | y | y | |||||
WideStudio![]() |
an IDE with an original windowing library and visual window editor and a rich set of development facilities | BSD | y | y | y | y | |||||
Wine![]() |
"a free implementation of Windows (API) on Unix" On Intel x86 PCs only, can be used to port Windows programs to X11 | LGPL | y (Intel x86 PC only) | native | native | native | y | ||||
WIRP | "Windows Interface Reduced Programming is a libraryof c routines for simple, platform independent GUI programming." C API. | ? | y | ||||||||
WWL(?) | C++ classes around X widgets. | ? | y(?) | y(?) | |||||||
WxWidgets![]() |
(formerly wxWindows) Common C++ wrapper for many platforms. version 2,.4 just released. native look and feel. good cross-platform support.(Wxxt, X Toolkit port) (WxGTK, gtk+port) |
BSD(version1.x only) LGPL (wxxt1.6xonly) WxWidgets license(version 3.0, actually LGPL plus exceptions) |
y | y | y | y | y | y | y | y | also on top of MicroWindows, and MGL |
Xarm![]() |
a C++ wrapper for Motif. | LGPL | y | ||||||||
X|Front | "a C++ library providing an object-oriented interfaceto X11R5 Xlib" | BSD | y | ||||||||
xclasses | "the X11 layout library." details available in Germanonly note another toolkit has the samename |
LGPL | ? | ||||||||
xclasses, xclass95 | developed in conjuction with the fvwm95window manager. MS-Win 95 look and feel. note another toolkit has the samename |
LGPL | y | ||||||||
XForms | a toolkit distributed in binary form only. C API. (fdesign,a UI builder) | X Forms license | y | ||||||||
Xm++ (?) | C++ classes for Motif and X11 Athena widgets | ? | y | y | |||||||
Xmt (Motif Tools),Xmt++![]() |
"Xmt is a Motif Tools library. The Xmt Motif Tools library provides developers of user interfaces tools that make Motif easier to use. Xmt consists of the core library of additional widgets, utility programs, docs, tutorials, and example code." C API. Supports rapid prototyping, GUI story boarding. "Xmt++ is to provide a C++ Model-View-Controller framework implementation based on Xmt. This framework makes it easier to integrate a Motif GUI to an application and maintain design integrity." |
BSD | y | ||||||||
XPIP | C API | BSD | y | ||||||||
XPToolkit (Xpfe)![]() |
cross-platform, toolkit forMozilla."An open source SDK for building common cross-platform user interfaces usingexisting cross-platform standards (e.g., XML, RDF, HTML, CSS, DOM, JavaScript) and technologies (e.g., Gecko, XPConnect) to minimize platform-specific code." May built on top of gtk+and Xt for X11 |
MPL/GPL/LGPL | y (Xt, gtk) | ? | y | y | y | y | y | y | BeOS |
XView | the Open Look widget set. C API. no longer supportedby Sun in favor of Motif. | y | |||||||||
YACL(link broken?) | native look and feel | BSD | y | y | y | y | y | ||||
YAAF![]() |
Yet Another Application Framwork, with fairlycomplete GUI classes and good cross-platform support | BSD | y | y | y | y | |||||
yzone | a set of universal cross-platform libraries for creationof the graphical modular applications for any UNIX or Microsoft Windowsplatform. C API | LGPL | y | y | y | ||||||
Zinc![]() |
well stablished, cross-platform framework. supports 24 platforms (including MS DOS and Unix text mode) |
desktop use only (not for embedded applications) | y | y | y | y | y | MS-DOS, VxWorks, pSOS | |||
Zoolib | "Zoolib provides a GUI toolkit with a uniquely flexible layout system. It also provides a single-file database format, TCP networking, and extensive debugging support. ZooLib applications are multithreaded. ZooLib requires only minimal support from the underlying OS and platform GUI layer, and thus could be ported to a completely new platform without too much difficulty" | BSD | y | y | y | y | y | BeOS | |||
Zune | Amiga MUI clone for X11 | LGPL | y | ||||||||
Name | Comments | license | Unix X11 + | UnixX11 +Motif | MS Win 95/98 | MS Win NT/2000/ XP/Vista |
MS Win 3.1 | OS/2 PM | MacOS | NextStepOpenStep MacOS X |
other platforms |
(+X11 has been ported to OS/2 so theoretically X-based toolkits work in OS/2 X11 as well. see Xfree86/OS2)
to top
Java oriented
- Biss-AWT (GPL-like license)
- SAWT
- GWT (Gadget Windowing toolkit), licensed under LGPL,from DTAI Inc. (nolonger available?)
- Koala Toolkit(license)
- SubArctic,not an AWT clone but a toolkit based on advanced research (license)
- FrescoJavaport (only supports Java 1.0.2)
- Mica, from SoftwareFarm(license)
- Marimba's FreeBongo
- dog.gui ,a lightweight, high-performance Java GUI toolkit which can serve as a replacement for the AWT (license: MozillaPublic License)
- SWANK,a GUI toolkit implemented in Java, to be used with Jacl, a Tcl intrepreterin Java (BSD-style license)
- JAPI, a non-OO, procedural toolkit built on top of AWT, and accessible from Pascal, C and Fortran, for Windows and Unix
- Epeios, for Unix and Windows, GPLed.
- SWT, The Standard Widget Toolkit,
part of Eclipse project, for Windows, Mac, QNX and Unix (Motif, gtk and Qt) (CPL license)
- Buoy, a "transparent wrapper" around Swing
- XUI, a toolkit for building Java applications with Java and XML, release under an MPL like license.
- java-gnome, GNOMEJava binding (LGPL)
- QtJava, QtJava binding (GPL)
- wx4J, wxWidgets Java binding (BSD-style license)
Ada
- GtkAda , Ada binding for gtk+,for X11 and Windows (GPLed plus exceptions )
- X11Ada ,X11 and Motif bindings forAda
- VisualAda Developer, RAD environment for Ada
- GWindows , GUI framework for Ada on Windows
(GPL/LGPLplus exceptions )
- Windex, Ada wrapper for the Win32 API (GPLplus exceptions)
- JEWL, Simple GUI framework for rapid development of GUI programs (GPL)
- Claw, Ada framework for the Windows API, demo version
- JAPI,binding for Java AWT (LGPLed)
- RAPID, Rapid Ada Portable Interface Design tool,. generates Ada code using a platform independent GUI library. (Current implementations utilize the TASHbinding to Tcl/Tk, the GNAT to JVM compiler, the Microsoft .NET framework, or GtkAd)
BASIC
LISP
- Garnet, GUI development environment for Common Lisp. No longer supported.
- XIT
- Winterp, a rapid development tool for GUI applications with a small object-orientedLISP interpreter (XLisp-Plus)(BSD-stylelicense)
- Newlisp includes Tk binding (GPLed)
Tcl
- Tk,the standard widget set for Tcl, for X11, MS Windows, and MacOS.
- itcl ([incrTcl]), with itk ([incrTk]) and [incr Widgets] ,object-oriented extension to the Tcl language and associated mega-widgetset and GUI framework.
- BLT extensionto the Tk toolkit.
- Tix, the Tk InterfaceExtension.
- TclMotif, Motif binding for Tcl.
- BWidgets ,"a professional look&feel Toolkit. Everything is native so noplatform compilation, no compiled extension library needed. In Pure Tcl/Tk.For Unix, Windows and Mac." (LGPLed)
- Tcl-gtk , gtk+ binding for Tcl
- PicoGUI
Pascal
- EFLIB, "extended function library"
- Free Pascal'sgtk+bindings
- BlackBox Component Framework, successor to Oberon/F, using Component Pascal, for Win32 and Mac (free for education use only)
- WOL, Framework for windowed programming under Windows and Linux (GTK) with Free Pascal. (GPLed)
- JAPI,binding for Java AWT (LGPLed)
- Lazarus, (LCL or Lazarus Class Libraries) the class libraries for Free Pascal that emulate Delphi, currently built on top og gtk+ (LGPLed)
Modula 2
- Dialog Machine and RAMSES (Research Aids for Modeling and Simulation of Environment Systems)"providesthe basis for highly portable programming of interactive applications,since it makes a minimum of assumptions on the properties of the underlyingoperating system and the hardware", available for MacOS, Atari ST (GEM),PC (GEM, MS Windows, Windows NT) and Unix (SUN and IBM RISC). RAMSES is Mac only. Both no cost freeware.
Perl
- XForms4Perl ,XFormsperl binding.
- pTk,perl/Tk, tkPerl, Tk binding for Perl.
- PerlQt, perl bindings for Qt . (LGPLed)
- Perl bindingsfor gtk+
- plFLTK , Perl bindingsfor Fltk (LGPLed) (discounted)
- FLTK.pm, Perl bindings for Fltkversion 2
- wxperl,WxWidfgets Perl binding
- Prima, "an extensible Perl toolkit for multi-platform GUI development. Supported platforms include Linux, Windows NT/9x/2K, OS/2, and UNIX/X11 workstations" (BSDed)
- PicoGUI
Python
- Tkinter, Tk-based GUI toolkit for Python, part of standard of Python distribution. Tk-based Additions, bindings under Pythin:
- Pmw (Python MegaWidgets) (also extra contributions)
- TIDE (Tix)
- Rivet,Tk binding for Python
- wxPython
, WxWidfgetsPython binding
- vkApp,a Python GUI application framework, and PythonX Extension, Python interface to X11 and Motif.
- WPY, a MFC-based GUI class library for Python, for MS Win95/NT and Unix/X11 using Tk.
- Python-Gtkandpygtk (gnome-python) ,Python bindings for gtk+andGNOME
- pyFLTK , Python bindingfor Fltk (LGPLed)
- FXPy, Python binding for FOX (LGPLed)
- Python X Library, X11 client-side API implemented purely in Python (GPLed)
- PicoGUI
- pyQT, Qt binding for Pytbon
- PyKDE,Python bindings for KDE
- pygame, SDL binding
- Jython provides access to Java GUI facilities
- JTKinter, port of tk to Jython
- JPI Java Python Interface (project dead)
Javascript
- Vexi written in Java, Vexi applications are written in a combination of XML and JavaScript (core GPLed, widgets LGPLed)
Scheme(includingGuile)
- MrED,a WxWindows -based toolkit for scheme, for X11,MS Win95/NT, and MacOS
- STk,a scheme interpreter with access to Tk
- guile-gtk,Guile bindings for gtk+ (GPLed)
- guile-fltk, Guile binding for Fltk (LGPLed)
Oberon
- Visual Oberon, a collection of GUI classes for Oberon-2, for X11 (GPLed).
Smalltalk
Prolog
- XPCE (GPLed ), for SWI-Prolog
S-Lang
Pike
Lua
- lua-gtkand lua-gnome , Lua's gtk+and GNOME bindings
- lua-FLTK, Lua FLTK binding
- wxLua, WxWindows binding for Lua
- tkLua, tk binding
- IUP (Portable User Interface), a highly portable toolkit for Lua and C, for Windows and X11/Motif.
Others
- CoderForm, a presentation and layout manager for .NET desktop applications, allowing creating the GUI from any .Net language
to top
Commercial Toolkits
C/C++ oriented
Name | Comments | Unix X11 | UnixX11Motif | MS Win 95/98 | MS Win NT/2000/ XP/Vista |
MS Win 3.1 | OS/2 PM | MacOS | NextSTEPOpenSTEP MacOS X |
Amiga |
MFC | Microsoft Foundation Class library. probably themost dominant toolkit today | y (3rd party,MainWin) | y (3rd party,Bristol) | y | y | y | y(add-on) | |||
OWL | Borland Object Windows Library. once the king before MFCcomes... (OWL resources ) | y | y | y | ? | ? | ||||
VCL | Visual Component Library, Borland/Inprise's curent-generation GUI class library | y | y | |||||||
CLX | (Component Library for Cross-platform) Cross-platform library for Delphi , Kylixand CBuilder - Based on top of Qt, works on Win32 and GNU/Linux (x86) | y | y | y | ||||||
ClassAct | y | |||||||||
CPLAT | a C++ framework for Mac and Windows | y | y | y | y(?) | y | ||||
CroPL | a C++ application framework and utility library for single-source Mac/Windows applications | y | y | y | y | |||||
Framework | rich DOS-based business application development environment, orginated from Ashton-Tate's Framework product, with FRED. Object-Function-Based, Text-Aware, rapid application development Language | |||||||||
Galaxy | well established, cross-platform framework (companyout of business) |
y | y | y | y | y | y | |||
ILOGViews | well established, cross-platform framework. commercialproduct with capabilities similar to Interviews | y | y | y | y | y | y | |||
JX | a full-featured C++ application framework and widget library (SDK) for use with the X Window System | y | ||||||||
Latitude(product dropped?) | MacOS API on Unix and Mac OS X (OpenStep) | y | native | y | ||||||
MacAPP | Apple 's Mac framework, probably the first widely available GUI framework. No longer supported by Apple but third party development at www.clubmacapp.com | y (unfinished) | y (unfinished) | y | y | |||||
MainWin/XDE | MS Win API on X11. | y | native | native | native | |||||
MUI | "Magic User Interface", popular in Amigacommunity | y | ||||||||
NoWait | a shareware GUI Application framework. | y | y | y | y | |||||
ObjectViews(product dropped?) | commercial version of Interviews,OpenLook or Motif look and feel, switchable on the fly | y | unfinished | unfinished | ||||||
OpenClass | from IBM/TaligentforIBM VisualAge for C++, also supports OS/400 | y (AIX and Sun Solaris only) | y | y | y | |||||
Presenter (OpenInterface Element) | full-featured, strong international language support, high performance GUI, rich widget set, supported worldwide | y | y | y | y | y |
y
|
|||
OpenStep (Cocoa) | Apple's application API for developing Mac OS X applicationsworking on different platforms | y (?) | y (?) | y (?) | native | |||||
OpenUI | really a User Interface Management System | y | y | y | y | y | y | |||
PowerPlant | included with Metrowerk's Mac OS compilers. | y | y | y | ||||||
Qt | an advanced, high quality toolkit. free/open source licenseavailable..Version 3 released. | y | y | y | y | see Mac OS X | y | |||
SansGUI | An object-oriented modeling and simulation environment for developing and deploying scientific and engineering applications without writing any GUI code. Support Visual C++ and Compaq Visual Fortran. |
y | y | |||||||
SL-GMS | specialized framework for dynamic graphics for monitoringand control Systems, can integrate with other "native" frameworks | y | y | y | ? | |||||
StarView | no longer available? (see OpenOffice) | ? | ? | ? | ? | ? | ? | ? | ||
Think Class Library | An early commercial GUI framework for Mac | y | ||||||||
ViewKit (SGI,ICS) | C++ framework for Motif | y | y | y | ||||||
ViewTouch | "open framework source for rapid development of opennetwork computing applications" such as touchscreen | y (withlesstif ) | y | |||||||
WindU | MS Win API on Motif, with MFCsupport | y | native | native | native | |||||
WM_Motif | MS Win API on Motif | y | native | native | native | |||||
WNDX | y | y | y | y | y | |||||
X Designer | really a GUI builder. Unix version includes partial MFCi mplementation on Motif | y | ||||||||
XVT | well established, cross-platform framework | y | y | y | y | y | y | y | ||
zAPP | well established, cross-platform framework.No longer available. | ? | ? | ? | ? | ? | ||||
Zinc | well established, cross-platform framework. supports24 platforms (including MS DOS and Unix text mode) freely available for non-embedded use | y | y | y | y | y |
Java Oriented
- Sun/Javasoft'sAWT
- Sun/Javasoft'sIFC andJFC (Swing) withvariable look
- Microsoft'sAFC
- Borland/Inprise 's JBCL(JavaBeans Component Library) (part of JBuilder)
- Xelfi Technologies 's Xelfi(30 day free evaluation, low cost registration required for longer use)
- Visix's Vibe Foundation Classes (powerful GUI framework ispart of a complete Java development system Vibe) (company out of business)
- SL-GMS , a framework for providing dynamic graphics in Pure Java applications
- UITools, "a toolkit for building graphical user interfaces (GUI) for simulation programs," like these tasks commonly done with MatLab and FORTRAN.
- Bambookit, XML-based User Interface, Java-based thin client platform that can be accessed anywhere, with any browser
C#
- WinForm, the standard C# GUI class library/framework.
Ada
Fortran
- Winteracter, a modern GUI toolset for the Fortran 90/95 programming language, for Windows and Linux
LISP
Pascal (including Delphi)
- VCL(Visual Component Library), the GUI foundation for Inprise/Borland'spopular RAD tool Delphi, forWin 3.1/95/98/NT, "object-oriented component framework delivers the only truecomponent architecture with over 200 visual and non-visual components thatare completely reusable and extendable"
- CLX, Cross-platform library for Delphi , Kylix and CBuilder - Based on top of Qt, works on Win32 and GNU.Linux (x86)
- O2, OO framework for Delphi, including user interface layer
Fortran
- SancsGUI, for Compaq Visual Fortran, An object-oriented modeling and simulation environment for developing and deploying scientific and engineering applications without writing any GUI code. For 32-bit Windows.
Misc
- XPCE, GUI system for Prolog, Lisp and C++.
- MetaCard, a Hypercard-typescript language with integrated GUI library, for Unix/X11 and MS Win 3.1/95/NT.
to top
Related Links
Other GUI Toolkit Pages
- the FSU Toolkit Page
- BradMyers'sUser Interface Software Tools page
- Steve Baum'sGUIpage
- Laura Michaels'sPortableScreen Library Resources page
- The Platform Independent GUI FAQ
- Karim Ratib's"http://www2.iro.umontreal.ca/~ratib/code/gui.htm#gui"
- Scientific applicationson Linux's X11 Libraries & Toolkits page
- SunWorld 'soverview of GUI toolkits by Cameron Laird and Kathryn Soraiz.
- Themes.org , a web site dedicatedto GUI themes (variable look and feel)
X Windows/Motif
- MW3: Motif on the WorldWide Web: a monster list of Motif and X Window-related resources, includingGUI libraries and tools. Now motifdeveloper.com
- Kenton Lee's TechnicalX Window System and OSF/Motif WWW Sites: another rich list of X Window/Motifresources.
Alternative Windowing Systems
- Fresco (Berlin), an attempt to provide an alternative to X Windows.Also listed as a free GUI toolkit
- MiniGUI, small windowing system for embedded applications
- Microwindows (NanoGUI), small windowing system for embedded applications, for DOS, MS Windows, Unix, Linux SVGAlib, Linux kernel framebuffer (MPLed/GPLed)
- DirectFB, a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers on top of the Linux Framebuffer Device. (LGPLed)
- PicoGUI
- Y Widnow System
Papers on GUI
- "GUI Fragmentation is the Greatest Weakness of Unix", arguing for good GUIstandards for Unix systems in responce to attacks by Microsoft Windows.
Drag and Drop protocols
Commercial Java Systems
- Vibe, a complete Java deployment system including tools fromcompiler to custom virtual machine. (company out of business)
Organizations for Free Software
- Free Software Foundation
- Linux International
- Software in the Public Interest(Debian GNU/Linux)
- X.org Foundation, the revitalized organization, successor to the orginal X Consortium, maintaining the X Window System.
- Free Standards Group, the organization responsible for setting standards in Free OSes. parent of the Linux Standards Base
- The XFree86 Project, Inc. Producer of the XFree86 , the X Windowserver for PC based UNIX and UNIX-like systems, role generally replaced by X.org
- The Open Source Initiative, organization for promoting the "Open Source" concept
- OpenOffice Foundation , the organization managing the OpenOffice project
- GNOME Foundation , the organization for GNOME
- KDE League, for the KDE project.
Important Free Software Projects
- GNU
- Linux , alsoknown as GNU/Linux ,GPLed Unix clone
- XFree86
- Netscape Communicator and Netscape Navigator (Mozilla), the once most popular web browser in the world, becomes free software on March 31, 1998.
- Arena,the free browser formally developed by the World Wide Web Consortium, now supported by Yggdrasil.
- Amaya , the free browser/editordeveloped by the World Wide Web Consortium
- FreeBSD , BSD-derivedfree Unix
- OpenBSD , BSD-derivedfree Unix
- NetBSD , BSD-derivedfree Unix
- OpenOffice , formerly StarOffice, now the free software office suite project support by Sun and in association with GNOME as the GNOME Office.
- Eclipse, Java-based open extensible IDE.
Free Object-oriented Componet Software Framework
- OpenDoc,the famous Apple/IBM invention, maybe someday free software. (C++ API)
- OpenParts,KDE's component framework with ideas from OpenDoc
- Bonobo, GNOME's component framework
Free Java Systems/Compilers
- JDK(Java Development Kit), from Sun /Javasoft.(Linux version )(SGI version)
- Kaffe , a Java virtual machine from TransVirtual ,and just-in-time compiler, works on most Unix's, MS Win 95, NextStep and Amiga (GPLed).
- Japhar , a free JVM from the Hungry Programmers ,the offical GNU Java VM (LGPLed).
- Guavac, a GPLed Java source-to-bytecode compiler written in C++.
- Jikes, a Java source-to-bytecode compiler, faster Javac replacement
- Jump, a Java source-to-bytecode compiler with non-standard Java language extension,10 to 30 times faster than Javac
- j2c, a Java class file-to-C translator
- Toba, a Java class file-to-C translator, for standalone applications (not applets).
- gcj, the GNU Java compiler
Free C# Systems/Compilers
- Mono, an effort to create an Open Source implementation of the .NET Development Framework. Includes: a compiler for the C# language, a runtime for the Common Language Infrastructure and a set of class libraries (GPLed plus exceptions for linking)
- DotGNU, including Portable.NET, an effort to create an alternative to Microsoft .NET, including C# compiler and run-time libraries. (GPLed plus exceptions for linking)
Library Binding Generation Tool
- SWIG(Simplified Warpper and Interface Generator), "a program development tooldesigned to make it easy to build scripting language interfaces to C/C++ programs."
GUI Toolkit Implementation Utility Libraries
- libsigc++,"a library implements a full callback system for use in widget libraries,abstract interfaces, and general programming."
(LGPLed)
Graphical Desktop Environments
- CDE, Common Desktop Environment, the commercially standard Unix desktop
- KDE , the K(ool) Desktop Environment, based on Qt.
- GNOME, GNU Network Object Model Environment, based on gtk .
- XFCE , a lightweight desktopenvironment for various UNIX systems, based on gtk
- GNUStep , the free softwareimplementation of the OpenStep desktop environment
- FLEK, an application framework "environment" based on Fltk
- Equinox Desktop Environment, based on Fltk
Others
- Mesa, a 3D graphics library providing an Open GL API, licensed under BSD (X11)-style license and now part of XFree86
- GLUT,the OpenGL Utility Toolkit, a window system independent toolkit for writingOpenGL programs
- vtk , The VisualizationToolkit (C++ API) (license)
- GIMP , the GNUImage Manipulation Program, a Photoshop-style painting program, licensedunder GPL.
- FilmGIMP, a fork of GIMP for movie editing.
- ImageMagick, a set of powerful image manipulation/processing programs. Functions availableto other programs via a rich API.(BSD-stylelicense)
- libart(alt site), GNOME/RaphLevien's advanced 2D graphics library (LGPLed)
- Zodius, a C++, easy-to-use 2D graphics library (BSD-stylelicense)
- Cario, a LGPLed/MPLed "vector graphics library designed to provide high-quality display and print output. Currently available output targets include the X Window System, OpenGL (via
glitz), Quartz, win32, in-memory image buffers, PNG images, PostScript, and PDF files. Some of these backends are still experimental. Cairo is designed to produce identical output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension or OpenGL)."
Possibly the standard 2D graphic API on free OSes.
- AGG (Anti-grain geometry, a powerful C++-based advanced 2d graphics rendering library
(BSD-style license)
- SDL (SimpleDirectMedia Layer) library, providing direct video framebuffer accessfor fast rendering, supports Linux, Win95/98/NT/2000, BeOS, MacOS, Solaris,IRIX, and FreeBSD. (LGPLed)
- OpenGL (Sample Implementation), now free software.
- OpenInventor , advanced object-oriented 3D graphics framework, now free software. offering a comprehensive solution to interactive graphics programming problems. It presents a programming model based on a 3D scene database that dramatically simplifies graphics programming.
(LGPLed)
- SATIN and Quill, Java-based gesture toolkit that allow ink gesture inputs to drive GUIs (BSD licensed)
- A list of Drawing and Design Programs
Companies developing/supporting FreeSoftware
Other Free Software websites
- free-soft.org , aweb site providing general Free Software/Open Source information
- The Free Software Bazaar
- advogato.org , general discussion site for free software developers
to top
If you think anything is incorrect orwant to provide more information for inclusion in this page, please contact(via e-mail)
Copyright
© Copyright 1997-2003, 2005, 2007 AD (ROCYears 86-92, 94, 96), by Li-Cheng (Andy) Tai, All rights reserved.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by theFree Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
All trademarks are the property of their respective owners.
page created Apr 19, 1997 (86)
http://www.atai.org/guitool/
所有的GUI Toolkit,类型之多真开眼界的更多相关文章
- java的GUI之SWT框架 配置开发环境(包含但不限于WindowBuilder完整教程,解决Unknown GUI toolkit报错,解决导入SWT包错误)
官网(资料挺多的,API文档截图以及示例都有):https://www.eclipse.org/swt/ 克隆官方仓库 git clone --depth=1 git://git.eclipse.or ...
- 用VS Code搞Qt 6:Gui基础类型——QGuiApplication和QWindow
在99.996%的情况下,我们弄 Qt 应用都会使用 QApplication 类和 QWidget 类,即直接用 Widgets 库中的组件/控件.为了方便开发人员自己造轮子,Qt 也提供了一套基础 ...
- 神贴真开眼界:为什么很多人倡导重视能力和素质,但同时对学历有严格要求?——代表了上一场比赛的输赢,招聘成本很重要。如果上一场游戏失败了,尽量让自己成为当前群体的尖子。学历只是其中的一个作品而已,但学历代表了学生时代为之做出的牺牲。人群自有偏向集中性 good
对于软件工程师职位,没学历没关系,如果真觉得自己才高八斗,请在简历里附上 github项目链接或者 appstore/google play上你的作品.如果学历比别人低,那么想必是把时间和精力用在了其 ...
- C/C++编程GUI库比较
转自:http://blog.csdn.net/lostown/article/details/658654 最强的GUI库当属Qt,毕竟是商业化的东西,功能最完整,什么都好,包括类似java代码风格 ...
- 【GStreamer开发】GStreamer基础教程05——集成GUI工具
目标 本教程展示了如何在GStreamer集成一个GUI(比如:GTK+).最基本的原则是GStreamer处理多媒体的播放而GUI处理和用户的交互. 在这个教程里面,我们可以学到: 如何告诉GStr ...
- Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结
Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结 1.1. 根据gui的类型使用不同的gui调用api1 1.2. Script化1 1.3. ...
- wxWidgets与其它GUI工具库比较
WxWidgets Compared To Other Toolkits Some general notes: wxWidgets not only works for C++, but als ...
- Python又把GUI界面攻下了,今天就告诉你怎么玩
0.引言 学Python这么久了,一直想做个界面出来,最近发现Python有个内置库tkinter,利用它可以很轻松做出一些简易的UI界面,首先来看Python官方对Tkinter的说明: The t ...
- 8个免费且实用的C++ GUI库(转载)
原文链接:http://zoomzum.com/8-free-and-useful-c-gui-libraries/ 作者的话:C++标准中并没有包含GUI,这也使得C++开发图形化界面需要依赖于 ...
随机推荐
- phpcms-v9 前台模板文件中{pc}标签的执行流程
前台pc标签的使用:{pc:content 参数名="参数值" 参数名="参数值" 参数名="参数值"} 如: {pc:content ac ...
- PHP设计模式之单例模式(数据库访问)
1.什么是单例模式? 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例.它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用. 2.单例模式的 ...
- C语言如何定义结构体
原文地址 1. struct与typedef struct区别 struct是结构体的关键字,用来声明结构体变量如 struct student { char num[10]; ch ...
- PHP之MVC微型框架简单搭建
好长时间没有写博客了,这段时间过得紧张的不行,以致于都没有抽出时间来好好的总结一下自己这段时间的生活和学习. 其实今天不想写什么技术博客,就想简单总结一下这段时间的生活.10月8号从家里回来以后决定自 ...
- android ViewHolder 使用
android中使用ListView ExpandableListView 数据适配器adapter很多都是自己定义,自己定义数据适配器时,要重写getView.重写getView为了不让每次调 ...
- Android手机app启动的时候第一个Activity必须是MainActivity吗
原文:Android手机app启动的时候第一个Activity必须是MainActivity吗 Android手机APP启动的第一个Activity是可以自己设置的,不是必须的MainActivity ...
- 通过layer-list多图层叠加效果实现圆角功能
在android的开发过程中,我们可能会做圆角的效果出来,如下图所示: 四个角都是圆角的效果.如果让UI设计人员直接出图,可能会更简单一些.但是我们使用android中layer-list多图层叠加效 ...
- 转:web前端面试题合集 (Javascript相关)(js异步加载详解)
1. HTTP协议的状态消息都有哪些? 1**:请求收到,继续处理2**:操作成功收到,分析.接受3**:完成此请求必须进一步处理4**:请求包含一个错误语法或不能完成5**:服务器执行一个完全有效请 ...
- CentOS 七 vs CentOS 6的不同
CentOS 七 vs CentOS 6的不同 CentOS 7 vs CentOS 6的不同(1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME ...
- Android图片裁剪之自由裁剪
我的博客http://blog.csdn.net/dawn_moon 客户的需求都是非常怪的.我有时候在给客户做项目的时候就想骂客户是sb.可是请你相信我,等你有需求,自己变成客户的时候,给你做项目的 ...