PARD: Toolkits
Fltk (pronounced "fulltick") is a C++ user interface toolkit for X and
OpenGL and Win32 NT/95.
Fltk was created to build in-house applications at Digital Domain for image
processing and 3D graphics, but I have released it to the public domain in
the hopes that it can be used to make better, faster, and nicer-looking Unix
programs. Fltk is written directly on top of Xlib and has been carefully
optimized for code size and performance. It hides the Xlib interface and is
thus designed to be portable to non-X systems.
Fltk was designed to be statically linked. This was done by splitting it
into many small objects and desigining it so that functions that are not
used do not have pointers to them in the parts that are used, and thus do
not get linked in. This allows you to make an easily-to-install program, or
to modify fltk to the exact requirements of your application, without
worrying about bloat. Fltk works fine as a shared library, though, and has
started being included on Linux distrubutions.
JX is a full-featured application framework and widget library for use with
the X Window System. It provides support for all facets of application
development, including distributed applications, and aims to combine the
best of MacOS and NeXTSTEP. It is built directly on top of Xlib and has been
carefully optimized for performance.
Lesstif is a re-implementation of the Motif widget set for X11. Lesstif is
not yet complete, but work is progressing quickly. Many applications compile
out of the box with lesstif. Lesstif aims to be binary compatible with
Motif, so that simply by changing libraries a program dynamically linked
with Motif should work with lesstif.
Qt is a toolkit for software developers. Qt simplifies the task of writing
and maintaining GUI (graphical user interface) applications.
Qt is written in C++ and is fully object-oriented. It has everything you
need to create professional GUI applications. And you can create them
quickly.
Qt is a multi-platform toolkit. When you implement a program with Qt, you
can run it on the X Window System (Unix/X11) or Microsoft Windows NT and
Windows 95.
Qt cuts down the complexity in implementing large and complex systems. Its
ingenious signal-slot technology enables true component programming.
wxWindows is a class library that allows you to compile graphical C++
programs on a range of different platforms. wxWindows uses the native
graphical user interface (GUI) on each platform, and so your program will
take on the native 'look and feel' that users are familiar with.
Although GUI applications are mostly built programmatically, there is a
dialog editor to help build attractive dialogs and panels.
XForms is a graphical user interface toolkit and builder based on Xlib for X
Window Systems. XForms is a portable and efficient C library that can be
used in both C and C++ programs.
The library works in all visuals and all depths (1-24) and comes with a rich
set of objects such as buttons (of many flavors, including color XPMs as
labels) , browsers, sliders, and menus integrated into an elegant
event/object callback execution model that allows fast and easy construction
of X-applications. It also has OpenGL (on SGI) and Mesa support.
The Forms Library is very intuitive and simple to use. It is by far the
easiest-to-learn and easiest-to-use system for X GUI development. You can
start writing XForms based programs within an hour once you go though the
first five pages of the documentation and have run and read a couple of the
demos. Actually, you don't have to write any code, the bundled GUI builder
will do it for you.
GTK, which stands for the Gimp ToolKit, is a library for creating graphical
user interfaces similar to the Motif look and feel. It is
designed to be small and efficient, but still flexible enough to allow the
programmer freedom in the interfaces created. GTK allows the programmer to
use a variety of standard user interface widgets such as push, radio and
check buttons, menus, lists and frames. It also provides several
container widgets which can be used to control the layout of the user
interface elements.
GTK provides some unique features. For example, a button does not contain a
label, it contains a child widget, which in most instances will be a label.
However, the child widget can also be a pixmap, image or any combination
possible the programmer desires. This flexibility is adhered to throughout
the library.
Gtk-- is a C++ interface for the popular GUI library gtk+. Gtk-- provides
convenient interface for C++ programmers to create graphical user interfaces
with Gtk's flexible OO framework. Highlights include type safe callbacks,
widgets extensible using inheritance and over 60 classes that can be freely
combined to quickly create complex user interfaces.
GtkAda is an Ada95 binding of Gtk+ version 1.1.14. It allows you to develop
graphical applications in Ada95 using Gtk+.
Currently, all widgets of the Gtk+ 1.1 series have been bound. The binding
for the Gdk part is not complete yet, but is already pretty much in place.
This is some glue code to make Gtk accessible from Guile. I tried hard to
make this as generic as possible. As a result, it should be easy to extend
it to new widgets and other Gtk extensions. It might even be possible to use
some of this code for wrapping completely different C libraries, but that
was not my goal.
I have not refrained from changing Gtk itself when I thought that it would
be the right solution to some problem I faced. I have tried to not bias
these changes towards a Scheme clientele, so they hopefully turn out to be
useful to other high-level language bindings.
To even further unify the different high-level language bindings (such as
the ones for Perl, Python, Objective C, maybe Java, etc.) I tried to collect
the salient bits of the Gtk API into a formal description. You should be
able to generate large parts of the language specific glue code from it.
Python-Gtk is a package allowing the Gtk toolkit to be used from within
Python.
Glade is a Graphical User Interface builder suite using Gtk+. It stores
projects in XML-like plain ASCII format and can generate C code of this meta
format. Additionally, the meta format can be converted to other languages
via modules. For example, glade-- can generate C++ code. Glade is a GTK+
interface builder.
Glade to C++ converter.
© 1999 by Stefan Hornburg
<racke@linuxia.de>
Last modified 03. June 1999