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: