#swiftcoder - I have to say some letters in reaction: GTK+
It is usable and maintainable, and I personally like it more than Qt.
and at the same time is an indicator of the generally sad state of GUI frameworks...
usually, in my case, it has ended up often being:
I don't really care much (about either portability or generality), so for something quick/dirty, generally using Visual Studio + C# + WinForms.
once wrote an app in VS + C++/CLI + WinForms, but C++/CLI is in some ways a bit nasty, kind of like a compromise of C++ and C# with the good points of neither, yet somehow still more generally usable for mixed C + C# apps than P/Invoke, where "at least it is not as bad as JNI"...
most other cases:
typically rolling something custom by doing 2D drawing in OpenGL.
granted, I generally stay well-clear of business apps, and most of my apps aren't really GUI-intensive (I tend to be very lazy when it comes to UI, which often results in UIs driven primarily via a console and keyboard-shortcuts, *1).
otherwise, I would probably mostly go with GTK+...
or maybe throw something together to allow leveraging Glade or similar...
admittedly, I am not really generally that enthusiastic over the whole "window full of buttons and drop-down menus" school of UI design either, but alas, if one does otherwise probably most people end up either thinking that one forgot to code up the UI (being faced with an initially mostly empty window), or have little hope of being able to use it (due to CLI's and keyboard-shortcuts being anathema in the common mindset).
well, and my UI design strategy falling on its face on cellphone or tablet or similar (*2).
and, my stuff often being a PITA to use on a laptop without an external mouse+keyboard.
...
*1: though once I ran across an idea for a UI design element where people hit SHIFT+SPACE and then type a command.
while still a nifty idea, my current strategy of hitting ALT-~ to summon/dispel the console works "good enough" (side note: currently I have 9 consoles, with ALT-1 through ALT-9 for switching between them).
for the most part, this worked well, apart from being a bit problematic with "GNome 3 Shell", which seems to hijack the 'ALT' key for its own uses.
*2: can't do a mouse+keyboard UI without a mouse or keyboard.
granted, I have some doubts regarding the general usability of cellphone or tablet style UIs for much of any sort of serious computing tasks (in general).
like, the "general usability" of the UI is somewhat worse IME than a desktop or even a laptop.
though, granted, portability and battery life are generally a little better than a laptop (can use a phone or tablet while standing up and without needing to hunt-down a power outlet, ...).
in general, if "off somewhere" I generally much prefer a laptop though.
(was trying to think up ways to make a desktop PC more portable, but most were going off into absurd/impractical territory...).
or such...