Раздел "Библиотека QT" основывается на материале, изложенном в следующих источниках:
Сегодня практически невозможно представить себе приложение, не обладающее интерфейсом пользователя. Понятия Software и GUI (Graphical User Interface) неразрывно связаны друг с другом. Библиотеки для создания пользовательского интерфейса применяются во многих операционных системах, начиная с Motif для ОС UNIX и заканчивая широко известной MFC (Microsoft Foundation Classes) от Microsoft для ОС Windows.
Хотя Windows API (Application Programming Interface, интерфейс программирования приложений) обладает всем необходимым для создания графического интерфейса пользователя, использование этих доступных "инструментов" требует больших затрат времени и практического опыта. Но самый большой недостаток, связанный с применением этих библиотек — это платформозависимость.
Qt представляет собой мощную библиотеку разработки кроссплатформенных приложений – настольных, сетевых и для мобильных устройств. На всех платформах библиотека Qt использует свой собственный набор визуальных элементов, в результате приложения, созданные на её основе, во всех системах выглядят и работают одинаково (исключение составляют декоративные элементы главного окна приложения и некоторые стандартные диалоги, которые реализуются не самой библиотекой Qt, а с помощью API текущей платформы).
Библиотека Qt является безусловным лидером среди имеющихся средств разработки межплатформенных программ на языке C++. ОС Linux, благодаря распространению графической оболочки KDE, стала поумолчанию стандартом проектирования программного обеспечения на этой платформе.
Для разработчиков Windows-приложений библиотека Qt долгое время не выходила на передний план, поскольку для Windows существовали более доступные и удобные средства быстрой разработки программ (Microsoft и Borland/Inprise). Все изменилось, когда:
Qt — это не только средство для создания интерфейса пользователя, это полный инструментарий для программирования. Этот инструментарий состоит из отдельных модулей и предоставляет:
Qt — полностью объектно-ориентированная библиотека. Новая концепция ведения межобъектных коммуникаций, именуемая "сигналы и слоты", полностью заменяет былую, не вполне надежную модель обратных вызовов. Также имеется возможность обработки событий, например, нажатия клавиш клавиатуры, перемещения мыши и т. д.
Предоставляемая система расширений (plug-ins) позволяет создавать модули, расширяющие функциональные возможности ваших приложений. Эти расширения пользователи вашей программы могут получать не только от вас, но и от других разработчиков. Несмотря на то, что библиотека Qt изначально создавалась для языка программирования C++, это вовсе не означает, что ее использование невозможно в других языках. Напротив, во многих языках программирования существуют модули для работы с этой библиотекой, например Qt Jambi в Java, Qt# в C#, PerlQt в Perl, PyQt в Python, PHP и т. д.
Программы, реализованные с помощью Qt, могут использовать язык сценариев Qt Script. Эта технология позволяет пользователям вашего приложения расширить возможности без изменения исходного кода и без перекомпоновки самого приложения, изменить "поведение" приложения.
Qt прекрасно документированна, благодаря чему вы всегда можете почерпнуть любую интересующую вас информацию об этой библиотеке, используя программу Qt Asisstant. А если и этого окажется недостаточно, то не забывайте, что Qt — это библиотека с открытым исходным кодом (Open Source), и вы всегда можете взглянуть и детально разобраться в том, как работает та или иная часть этой библиотеки.