Qt - это кроссплатформенная библиотека, целью которой является вытеснение нативных API из ваших программ. Сейчас Qt - это огромный объектно-ориентированный комбайн, в большинстве случаев позволяющий обойтись без привлечения каких-либо иных библиотек.
В первую очередь Qt - отличное средство для создания графического пользовательского интерфейса (GUI). В состав Qt входит дизайнер, позволяющий легко создавать графические интерфейсы для вашего приложения. Вам не придется заботиться о написании файлов сборки для каждой из платформ, за вас это сделают Qt. Достаточно просто написать файл проекта, в который внести все используемые файлы, и файл сборки можно будет создать одним вызовом утилиты qmake (естественно, под управлением целевой платформы). От себя добавлю, что иногда этот файл приходится править руками (а как же).
О значимости данной библиотеки говорит хотя бы то, что она используется в таких успешных проектах, как Borland C++ Builder 6 и Opera. Библиотека поставляется по нескольким лицензиям, одни из которых - платные, другие - нет. Под оконную систему X11 всегда можно с сайта www.trolltech.com легально взять GPL-версию Qt (и использовать, естественно, только в некоммерческих проектах). С системой Windows дело обстоит сложнее, поскольку, по мнению верхушки TrollTech, эта система не является ареной OpenSource-разработки. Последняя бесплатная версия для Windows -- 2.3.0. Но для находчивых людей это не проблема, есть сеть eDonkey ;-) Текущей на данный момент является версия 3.3.1. В скором времени ожидается версия 4.
Перечислим основные достоинства ядра библиотеки Qt:
* встроенная поддержка Unicode и локализации (очень хорошо и очень правильно реализованной, смею заметить). В Qt4 обещают новый механизм рендеринга шрифтов, поддерживающий Unicode.
* мощные события и фильтры событий (событие - это что-то вроде универсального сигнала, который можно посылать любому виджету, распознавать и соответствующим образом обрабатывать с помощью фильтров. Например нажатие различных клавиш)
* многофункциональные управляемые интервалами таймеры которые делают возможным просто и быстро вставлять много разных заданий в управляемый событиями ГПИ.
* иерархические и настраиваемые объектные деревья, организующие принадлежность объектов естественным образом.
* защищенные указатели QGuardedPtr, которые автоматически принимают значение NULL при уничтожении соответствующего объекта, в отличие от обычных указателей в C++, которые в этом случае становятся "неопределенными указателями".
* Удобная документация, доступная и на русском языке (ссылки к сожалению не знаю, но могу с удовольствием выслать по заявке).