Here is a tiny idea for a QT based GUI library

Manuel M. T. Chakravarty chak@cse.unsw.edu.au
Tue, 13 Nov 2001 15:18:34 +1100


"Eray Ozkural (exa)" <erayo@cs.bilkent.edu.tr> wrote,

> I've just realized that a feature of QT 3.0[!] library, which is a well 
> versed GUI library used in KDE, can make writing a GUI library quite easy.
> 
> There is a class called QWidgetFactory[*] in QT 3.0 that enables application 
> programmers to dynamically generate a GUI from a .ui file which is an XML 
> file that describes it.
> 
> If a functional combinator library would be able to generate the XML file in 
> question then a GUI could be created quite easily.
> 
> You also need to access objects in the created widget and implement slots for 
> it, which I think should be possible using the C bindings. There are new C 
> bindings for KDE and there ought to be some for QT as well.

The time consuming part in creating such a system are the C
bindings, not the XML stuff.  In fact, similar functionality
is available for GTK+ already for a long while.  The cool
point about it is that the graphical interface builder Glade

  http://glade.gnome.org/

can generate these XML files, which you just load into your
application using a library called libglade (that
corresponds to the QWidgetFactory that you mention above).
I guess, KDE's interface builder can do the same.

There is a binding to libglade for Haskell available,
although it is not part of the main Gtk+HS distribution yet,
but I am happy to email it on request.

Cheers,
Manuel