There are two primary GUI toolkits: GTK+
There are others, but these two make up the bulk of the GUI toolkits used for GNOME desktop applications (GTK+) and KDE desktop applications (Qt). As an FYI: A GNOME desktop can use a Qt-developed application and a KDE desktop can use a GTK+-developed application as long as the appropriate support libraries are installed.
Two GTK+ tutorials (that I have not
The GTK+ Tutorial
For Qt, there are "training materials" available from the docs portion of the Qt website: