I have worked with few UI libraries during my college days (late night hackwork !). Although It has months since i really coded something in C/C++ . Here is my opinion on most of the UI frameworks ( choices available ) .
(a) Win32 API , GDI (user32.dll)
This was the most difficult to work with initially . I initially found it more difficult to work with than X , with strange typedef’s and cumbersome hungarian Notation etc . But once you get the hang of it , its quite easy . But getting the hang of it may take some time . You may look at Charles Petzold programming Windows for more information.(Works only on Windows AFAIK , or may be Wine and ReactOS )
(b) MFC
MFC is quite friendly . You can make ui’s pretty quickly and easily . But if you follow one of those ”
teach yourself MFC in xx days ” , you might get stuck at some point of time . You should start from the ground up without using the wizards provided and then later switch to wizards after you get more advanced . It also provides many features (Document View Architecture , to name a few ) and most developers usually do not properly utilize them . Works only on Windows AKIK , or may be Wine and ReactOS )
(c)GTK
The Gimp”s toolkit . It was initially made for the development of the GNU Image manipulation program or the GIMP . Its very easy to write ui’s in GIMP and now you have glade available . The gimp website provides sufficent documentation and its pretty cool ! . The downside of gtk is that , its strong only in *nix platforms . The ui elements may look a touch different depending upon the platform .
(d)FOX
Its yet another cool framework which i have worked with. Its pretty impressive , ui elements look the same in all platforms . But the downside of fox is that it has a slightly steeper learning curve compared to Gtk , and it somewhat mimics MFC in its API .
(e)QT
QT is the best i guess in terms of quality and portability , but qt has a confusing license . Other than that its awesome .It competes with MFC in ease of use and beats it completely in portability . It boasts of a signal — connect sort of thing , but there is nothing novel in it .
(f)svgalib
its pretty good as well . its easy to use , but need root privilleges ,its quite buggy as well
(g)Allegro
Easy to use multiplatform gaming framework
(h)SDL- Simple DirectMedia Layer
Same as Allegro
(i)Xlib
Honestly its initially easier to learn Xlib , than Win32 API . But it only provides barebones functionality . There is an autoritative X book by main authours themselfves. I havent coded in Xlib for the past 3 years , so forgot most of it . Also if you have experience programming Windows , programming X should not be too difficult .
There are others as well , but I will stop for the time being …….