Qt
Qt (МФА [ˈkjuːt], произносится «кьют» как «cute»[5]) или неофициально Q-T («кью-ти», «ку-тэ», «кью-тэ») — фреймворк для разработки кроссплатформенного программного обеспечения на языке программирования C++. Для многих языков программирования существуют библиотеки, позволяющие использовать преимущества Qt: Python — PyQt, PySide; Ruby — QtRuby[6]; Java — QtJambi[7]; PHP — PHP-Qt и другие. Со времени своего появления в 1996 году библиотека легла в основу многих программных проектов. Кроме того, Qt является фундаментом популярной рабочей среды KDE Plasma, входящей в состав многих дистрибутивов Linux. Функции и составQt позволяет запускать написанное с его помощью программное обеспечение в большинстве современных операционных систем путём простой компиляции программы для каждой системы без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Является полностью объектно-ориентированным, расширяемым и поддерживающим технику компонентного программирования. Отличительная особенность — использование метаобъектного компилятора — предварительной системы обработки исходного кода. Расширение возможностей обеспечивается системой плагинов, которые возможно размещать непосредственно в панели визуального редактора. Также существует возможность расширения привычной функциональности виджетов, связанной с размещением их на экране, отображением, перерисовкой при изменении размеров окна. Комплектуется визуальной средой разработки графического интерфейса Qt Designer, позволяющей создавать диалоги и формы в режиме WYSIWYG. В поставке Qt есть Qt Linguist — графическая утилита, позволяющая упростить локализацию и перевод программы на многие языки; и Qt Assistant — справочная система Qt, упрощающая работу с документацией по библиотеке, а также позволяющая создавать кроссплатформенную справку для разрабатываемого на основе Qt программного обеспечения. Начиная с версии 4.5.0 в комплект включена среда разработки Qt Creator, которая включает редактор кода, справку, графические средства Qt Designer и возможность отладки приложений. Qt Creator может использовать GCC или Microsoft VC++ в качестве компилятора и GDB в качестве отладчика. Для Windows-версий библиотека комплектуется компилятором, заголовочными и объектными файлами MinGW. Существуют версии библиотеки для Microsoft Windows, систем класса UNIX с графической подсистемой X11, Android, iOS, macOS, Microsoft Windows CE, QNX[8], встраиваемых Linux-систем и платформы S60. Идет портирование на Windows Phone и Windows RT[9][10]. Также идёт портирование на Haiku и Tizen. Некоторое время библиотека также распространялась ещё в версии Qt/Embedded, предназначенной для применения на встраиваемых и мобильных устройствах, но начиная с середины 2000-х годов она выделена в самостоятельный продукт Qtopia. Начиная с версии 4.5 Qt распространяется по трём лицензиям:
Исходный код, единый для всех вариантов лицензий, свободно доступен в Git-хранилище, расположенном на Github. Кроме самого исходного кода Qt, там же расположены хранилища сопутствующих библиотек, разрабатываемых авторами библиотеки и сообществом. До версии 4.0.0 под свободной лицензией распространялись лишь Qt/Mac, Qt/X11, Qt/Embedded, но, начиная с 4.0.0 (выпущенной в конце июня 2005), Qt Software «освободили» и Qt/Windows. При этом существовали сторонние свободные версии Qt/Windows ранее 4.0.0, сделанные на основе Qt/X11. Поддерживаемые платформыQt работает на большом количестве разных платформ; следующие поддерживаются официально:
После того, как Nokia открыла исходный код Qt сообществу на Gitorious[англ.], появились различные порты. Также есть некоторые порты, которые могут быть доступны, но более не поддерживаются. КомпонентыБиблиотека разделена на ряд модулей:
Так же начиная с Qt5 существуют аддоны — модули для решения определенных задач, которые не доступны для всех платформ.
Также реализована технология WoC — widgets on canvas, с помощью которой реализована Plasma в KDE 4.1, Будет возможным использовать виджеты библиотеки Qt прямо в аплетах. Обеспечивает расположение виджетов на QGraphicsView с возможностью масштабирования и различных графических эффектов. ДокументацияОдно из преимуществ фреймворка Qt — подробная документация[29][30], сопровождающаяся большим количеством примеров. Исходный код примеров содержит подробные комментарии и описание, что также упрощает изучение Qt. ИспользованиеQt используют Autodesk, Maya[31][32], GoldenDict — оболочка для электронных словарей, Skype, Telegram, Медиапроигрыватель VLC[33], VirtualBox, Mathematica[34], на European Space Agency[35], DreamWorks[36][37], Google, HP[38], Lucasfilm[39], Panasonic[40], Philips[41], Samsung[42], Siemens[43], Volvo[44] и Walt Disney Animation Studios[45], Google Планета Земля, медиаплеер CherryPlayer. Кроме того, на Qt основана среда рабочего стола KDE, графический интерфейс мобильной ОС MeeGo и Qt Creator — среда разработки на Qt; АрхитектураQt построен на следующих принципах: Сигналы и слотыСредство коммуникации между объектами Qt. Виджеты посылают сигнал, который может быть обработан слотом. Таким образом реализуется паттерн MVC. Метаобъектный компиляторМетаобъектная система — часть ядра фреймворка для поддержки в C++ таких возможностей, как сигналы и слоты для коммуникации между объектами в режиме реального времени и динамических свойств системы. Метаобъектная система содержит: класс Языковые привязкиQt доступен для нескольких языков программирования, таких как Python, Java, Rust, Javascript. ИнструментыПроект Qt предоставляет Qt Creator — среду разработки для C++, QML. Так же предоставляется qmake — устаревшее с версии 6 средство сборки, замененное на CMake. Примечания
Литература
Ссылки
|