[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GUI stuff



David Webster wrote:
> 
> I am wanting to start some GUI development but I am having a hard time
> figuring out just what the GUI development is?  I see that the GTK
> libaraires are the base C++ GUI class libraries, but I also see stuff
> like Gnome and qt* and Glib, and other stuff.

Gnome is based on the GTK toolkit.   Glib is a part of GTK, and
isn't related to GUI stuff, its got linked-lists and whatnot.
GTK is a GUI toolkit for C.

Qt is a C++ library.  (No wrappers that I know of -- it is much
harder to "wrap" an OO-library, unless you're wrapping in another
OO language...)

Gnome is not a GUI library, its a whole integrated desktop system.
So is KDE.  KDE uses Qt is its GUI toolkit.

> Is there any online
> documentation that sorts all this stuff out?  

You can try http://www.theoffice.net/guitool, which lists a dizzying
array of GUI tools.  

You will also find a huge repository of useful programming info (not 
just GUI) at http://www.iro.umontreal.ca/~ratib/code/.  (It isn't 
organized by tool type, so you'll have to click on the language you 
like, and look for GUI tools there.)

> What are the compliments
> in the Linux/X11 world to MFC/IOCL in the Win32 world?  What about
> resource editors and stuff like that???

There is no "standard" GUI toolkit for Linux.  Motif used to be
standard (for UNIX in general), but that was only because it was the 
only one around.  Since it is a commercial product and began to stale, 
eventually alternatives began to emerge.  Now, you have many to choose 
from.

Here is a short list, to get you started.

- GTK (C)
  - Best choice if you want to program in C.  Basis of Gnome.
    Wrappers exist for many other languages, for example GTK-- is
    a C++ wrapper.
  - http://www.gtk.org

- wxWindows (C++)
  - This one is my favorite.  Quite mature.
  - It's a cross-platform tool, and the one for Linux is based
    on top of GTK.
  - The main page is at
      http://web.ukonline.co.uk/julian.smart/wxwin
  - The GTK version's page is at     
      http://wesley.informatik.uni-freiburg.de/~wxxt/

- V (C++)
  - Simpler than wxWindows, easier to learn.  I've only experimented 
    with it briefly, but it seems pretty nice if your needs are modest.
  - http://objectcentral.com

- Qt (C++)
  - Troll Tech's infamous library.  Basis for the KDE project.
    I personally have never used it, but I gather it is very nice
    (though C++ purists dislike some of their design choices!)
  - http://www.troll.no

- There is a MFC port to Linux, I believe, though I don't know anything
  about and I do not want to know.

- Java's AWT (Java)
  - The AWT is getting better.  "Write once, debug everywhere!"

- YACL (C++)
  - I've heard good things about this, but never used it or even
    read much about it.
  - http://www.cs.sc.edu/~sridhar/yacl/

That's only a start, though I think I got most of the "popular"
GUI toolkits for Linux.  

I'd recommend wxWindows if you will be programming in C++, or maybe V.  
Both exist as Debian packages, though a new major version of wxWindows 
(2.0) will soon be released.  I expect it will be debianized soon after.  
(If not, maybe I will do it!)  Qt is also .deb'ed, and is coincidentally 
also approaching 2.0.

I hope this clears things up rather than making it more confusing...

Kirk


Reply to: