Click to See Complete Forum and Search --> : What's the best way to write GUIs?


Robotics Guy
January 15th, 2009, 05:13 PM
How do most of you write GUIs for your programs? Do you use a toolkit like wxWidgets and Qt, or the WIN32 API?

Using a cross platform library seems like a good idea, so I'm leaning towards using one of the above toolkits, but wanted some opinions.

TheCPUWizard
January 15th, 2009, 05:18 PM
If you have a NEED for x-platform, then x-platform is definately a good idea....

Otherwise you are almost 100% guaranteed to give up platform specific features and capabilities for no real reason.

For "pretty" UI's I have been using WPF almost exclusively. Get a copy of Visual Studio Express (it is free) and give it a try.....

Mike Harnad
January 16th, 2009, 08:28 AM
Before choosing a toolkit, I think its important to identify what the GUI should provide. Is it just a pretty face, or, does it brand your application so that users can recognize it? The answers to these types of questions will typically drive the decision to choose one toolkit over the other.

Lindley
January 16th, 2009, 10:47 AM
Unless you have a compelling reason to go with a platform-specific toolkit, I'd say use a cross-platform one.

A pitfall to watch out for----there are visual editors available for GUIs. I don't know how good they are. However, before you go messing around with one of those, you should be able to hand-code a GUI using the toolkit of choice. That way, even if you eventually move on to graphical editors, you'll be able to exert more control over the final form of the code.

Robotics Guy
January 16th, 2009, 02:46 PM
Has anyone used Qt? It's kind of pricey, but looks robust and well supported.

Lindley
January 16th, 2009, 07:26 PM
I've only used GTK+, myself. I have a slight familiarity with WxWidgets.

carl666
January 17th, 2009, 11:10 AM
Libraries are for those who can't program by themselves (mainly kids : see the average age on forums...)
You can do everything with Win32 api (custom , owner drawing, etc) and you know what you are doing .

Robotics Guy
January 17th, 2009, 12:18 PM
Libraries are for those who can't program by themselves (mainly kids : see the average age on forums...)
You can do everything with Win32 api (custom , owner drawing, etc) and you know what you are doing .

Interesting!

I didn't know Mathematica, Google Earth, and Photoshop were all programmed by kids *rolls eyes*

http://www.qtsoftware.com/qt-in-use

Lindley
January 17th, 2009, 12:21 PM
Libraries are for those who can't program by themselves (mainly kids : see the average age on forums...)
You can do everything with Win32 api (custom , owner drawing, etc) and you know what you are doing .

Do you write all your programs in assembly? Are high-level languages "for kids" also?

Knowing what you're doing is all well and good, but if other people who have to maintain your code don't have an equally clear picture of what you're doing, then your code can't really qualify as "good" in a professional environment.

thomus07
January 19th, 2009, 09:50 PM
QT is really good.

Promoted well. Now supports mobile development also. I felt this as an easier and faster development tool kit. I believe it has good future among cross platform tool kits.

All the best :)

Joeman
January 19th, 2009, 10:45 PM
I haven't tried much with libs for guis, but I also haven't had much reason. So I stick with win32 since I don't need much support for anything else. If I did use a cross platform kit, it would be gtk. why?

gtk = gnome
qt = kde

Gnome seems more reasonable to me since kde4 is unstable and I don't feel like programming for something that isn't stable since most people can't use it. Perhaps I will when I think kde4 is stable unlike what they claimed so far. stable = alpha to them, but they been working hard to make a big difference in desktop interface. we will see....

codecX
January 27th, 2009, 08:32 AM
This is my personal opinion:
1- Qt is excellent if you are not going to give licenses of your source codes, more support, price doesn't bother, ...
Also Qt is using LGPL for their next release, very useful.

2- Wxwidgets is the best choice if you want something cheaper (free), less support, sell your source code easily as much as you want, and especially for 3D apps developers, ...

With both of these toolkits, you will lose some specific features.
Nowadays more companies are using them rather than 5 years ago.

3- Directly use platform APIs if both of above tools do not meet you needs. Or you are not planning to release you app for other platforms at all.


By the way, Photoshop is not programmed by Qt, Adobe Photoshop Album is using Qt. Photoshop uses its own programming method, it means they use low level APIs on each platform (win32 for windows, Carbon for MAC OS).