wxWidgets Is a mature GUI toolkit that uses each platform's native API, so provides a native look and feel from one codebase. This makes it more thoroughly cross-platform than some other libraries.
Although wxWidgets is written in C++, you can use it with a variety of languages including Python, Perl, and C#. It has bindings to many languages (more than are listed on the homepage - check your language's package libraries for a "wx" prefix).
wxFormBuilder can be used for visual form design, other designers are available.
SpecsUpdate
Ranked in these QuestionsQuestion Ranking
Pros
Pro Mature
wxWidgets was started in 1992 by Julian Smart.
Pro Truly native look and feel
It uses the platform's native API rather than emulating the GUI.
Pro Open source
wxWidgets can be used for free or commercial projects, at no cost.
Pro Can do custom control rendering
You can make a custom renderer using the class wxDelegateRendererNative to draw directly any standard control or using the class BackgroundWindow to use any bitmap as a control background.
Pro Forms designers
Several forms designers, like wxFormBuilder, are available.
Pro Designer
A very nice designer: wxCrafter. Free for non-commercial use/evaluation phase (without time expiration). Highly recommended if you plan to use wxWidgets.
Pro Perfect combination: wxFormBuilder + ZeroBrane (wxLua)
Lua Language can provide extra high level scripting
Pro Can use Qt on X11
WxQt is available on X11.
Cons
Con Android port not totally usable yet
See WxAndroid.
Con Uses GTK on X11
WxWidgets uses GTK+ on X11 desktop which well known for looking like an alien on non GTK+ desktops.
Con Has slightly heavy compiled result
Con Written in C++
Commonly Compared
