To make the case for GTK:
- LGPL licensing.
- Written in C, but is usable with almost any programming language, including C++, Python, Javascript, Haskell, etc. Recently a new programming language, Vala, was developed which has native support for GTK's objects, signals, and properties. Its syntax is very similar to C# and its purpose is to allow very fast development of applications using GTK. (That's because using it in the original C does tend to produce very verbose code.)
- If you understand object-oriented principles (which is not necessarily everybody who's taken a Java course at university) then it's easy to learn.
- The library is divided into two main parts: GLib, the core library, and GTK, the GUI library. GLib has many features you will need for developing applications: all kinds of data structures, threads, regular expressions, key-value file parser, XML-like markup language parser (for full XML you need the libxml2 library though), ansynchronous I/O, networking. GTK contains everything graphical.
- It used to be that quite a lot of applications had the entire set of GNOME libraries as a dependency, but that's not the case anymore, since a lot of the useful functionality has been moved into GLib and GTK. You should be able to write a full-featured application without any extra dependencies.
- Look and feel depends on the platform. On GNOME, GTK basically defines the look and feel. On Windows, the native look and feel is emulated almost perfectly. On OS X, not so much.
- On Windows and OS X it takes some doing to get the libraries set up properly. OS X is especially a pain in the ass, where you have the choice between running an X11 server or using the harder-to-set-up Quartz backend. Qt is probably easier in that respect. However, your application's code is fully cross-platform and so should not require any porting to run on any of these systems.
I hope I've accurately represented the pros and cons for you.