I've done a fair amount of searching the net on this topic because I still haven't found a GUI toolkit I'm completely satisfied with either. Here's what little bits of info I have gathered, sorry about the C++ bias but that just where my own interested primary lies. Also I've only ever been interesting in a toolkit with at least offers the native look when running on Windows.
Personally I use WTL these days. It's pretty complete, even makes doing Aero apps which can still support Win2k easy as pie. The WTL Wiki
has a nice list of other C++ GUI toolkits too which worth checking out.
Qt is GPL if you don't pay for commercial license, so that means a no for me but I'm sure others wouldn't see that as a problem.
Gtk (and the Gtkmm
C++ bindings) actually seems nice, and apps can look very native on Windows. The runtime seems heavy but it's possible to install it form a standalone package meaning in theory all Gtk based apps could share the dlls. In practise though it's usually trial and error to remove the binaries which ship with GTK apps to make them use the system install runtime, and if your mixing version there is probably big potential for issues. Still though I've had success getting Claws Mail
and ruby GTK apps to share the Gimp's runtime.
wxWidgets always seemed too heavy to me as f0dder already mentioned. There is a modernized version in the work, wxTNG
, but it seems to be early days for that still.
What really caught my attention is a C++ only library, OMGUI
. It seemed to be dead in the water for the last few months but just now I see it's moved hosting SF.net. This is definitely one I'll be keeping an eye on.
All in all though, unless you're prepared to pay for Qt I can't really seem any other comparable alternative. So I'll be sticking with WTL for the time being, maybe looking into the WINX
extensions. If I decide to try and do a portable app in the future I'll seriously give OMGUI a try.