Вандализм в Википедии
- 1 year ago
- 0
- 0
Qt ( МФА [ ˈ k j u ː t ], произносится «кьют» как «cute» ) или неофициально Q-T ( «кью-ти», «ку-тэ», «кью-тэ» ) — фреймворк для разработки кроссплатформенного программного обеспечения на языке программирования C++ . Для многих языков программирования существуют библиотеки, позволяющие использовать преимущества Qt: Python — PyQt , PySide ; Ruby — QtRuby ; Java — QtJambi ; PHP — PHP-Qt и другие.
Со времени своего появления в 1996 году библиотека легла в основу многих программных проектов. Кроме того, Qt является фундаментом популярной рабочей среды KDE Plasma , входящей в состав многих дистрибутивов Linux .
Qt позволяет запускать написанное с его помощью программное обеспечение в большинстве современных операционных систем путём простой компиляции программы для каждой системы без изменения исходного кода . Включает в себя все основные классы , которые могут потребоваться при разработке прикладного программного обеспечения , начиная от элементов графического интерфейса и заканчивая классами для работы с сетью , базами данных и XML . Является полностью объектно-ориентированным, расширяемым и поддерживающим технику компонентного программирования.
Отличительная особенность — использование метаобъектного компилятора — предварительной системы обработки исходного кода. Расширение возможностей обеспечивается системой плагинов, которые возможно размещать непосредственно в панели визуального редактора. Также существует возможность расширения привычной функциональности виджетов , связанной с размещением их на экране, отображением, перерисовкой при изменении размеров окна.
Комплектуется визуальной средой разработки графического интерфейса Qt Designer , позволяющей создавать диалоги и формы в режиме WYSIWYG . В поставке Qt есть — графическая утилита, позволяющая упростить локализацию и перевод программы на многие языки; и — справочная система 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 , встраиваемых Linux-систем и платформы S60 . Идет портирование на Windows Phone и Windows RT . Также идёт портирование на 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 работает на большом количестве разных платформ; следующие поддерживаются официально:
Платформа | Описание |
---|---|
Linux/Unix | |
X11 | Qt для оконного менеджера X ( Linux , FreeBSD , HP-UX, Solaris, AIX, и т. д.). |
Wayland | Qt для Wayland . Приложения на Qt могут переключаться между графическими бэкэндами вроде X и Wayland во , если добавить опцию командной строки -platform. Это позволяет приложениям незаметно переходить с X11 на Wayland. |
Встраиваемые Linux-системы | Qt для встраиваемых систем: КПК , смартфонов , и т. д. Существует в виде нескольких платформ, в зависимости от технологии отрисовки. DirectFB , LinuxFB и EGLFS ( Full Screen). |
Android | Qt для Android , ранее известный как Necessitas. |
Платформы Apple | |
OS X | Qt для Apple OS X ; поддерживает приложения на Cocoa . |
iOS | Qt для iOS платформ ( iPhone , iPad ). |
Платформы Microsoft | |
Windows | Qt для Microsoft Windows XP , Vista , 7 , 8 и 10 . |
Windows CE | Qt для Windows CE 6 и Windows Embedded Compact 7 . |
Windows RT | Поддержка для основанных на WinRT приложениях для Windows 8 и Windows Phone 8 . Начиная с версии 5.4: Windows Phone 8.1 . |
Другие встраиваемые платформы | |
Integrity | Qt для Integrity . |
QNX | Qt для QNX . |
VxWorks | Qt для VxWorks . |
После того, как Nokia открыла исходный код Qt сообществу на , появились различные порты. Также есть некоторые порты, которые могут быть доступны, но более не поддерживаются.
Библиотека разделена на ряд модулей:
Также реализована технология WoC — widgets on canvas, с помощью которой реализована Plasma в KDE 4.1, Будет возможным использовать виджеты библиотеки Qt прямо в аплетах. Обеспечивает расположение виджетов на QGraphicsView с возможностью масштабирования и различных графических эффектов.
Библиотека использует собственный формат проекта, именуемый .pro файлом, в котором собрана информация о том, какие файлы будут скомпилированы, по каким путям искать заголовочные файлы и много другой информации. Впоследствии при помощи утилиты qmake из них получаются makefile для make-утилиты компилятора. Также есть возможность работы при помощи интеграторов с Microsoft Visual Studio 2003/2005/2008/2010. Интеграция в Eclipse перестала поддерживаться с 2010 года.
Разработчики на Java могут использовать Qt с помощью фреймворка Qt Jambi от того же производителя (официально с 2009 года Qt Software прекратила разработку этого фреймворка).
Одним из преимуществ фреймворка Qt — подробная документация , сопровождающаяся большим количеством примеров. Исходный код примеров содержит подробные комментарии и описание, что также упрощает изучение Qt.
Qt используется в Autodesk , Maya , GoldenDict — оболочка для электронных словарей , Skype , Telegram , Медиапроигрыватель VLC , VirtualBox , Mathematica , на European Space Agency , DreamWorks , Google , HP , Lucasfilm , Panasonic , Philips , Samsung , Siemens , Volvo и Walt Disney Animation Studios , ЦАО , Google Планета Земля , медиаплеер .
Кроме того, на Qt основана среда рабочего стола KDE , графический интерфейс мобильной ОС MeeGo и Qt Creator — среда разработки на Qt;
Метаобъектная система — часть ядра фреймворка для поддержки в C++ таких возможностей, как сигналы и слоты для коммуникации между объектами в режиме реального времени и динамических свойств системы.
Метаобъектная система содержит: класс
QObject
, макрос
Q_OBJECT
и утилиту
moc
(метаобъектный компилятор).
QObject
— это базовый класс для всех Qt-классов. Макрос
Q_OBJECT
используется для включения метаобъектных функций в классах и на этапе компиляции работает как препроцессор, который преобразует применения макроса в исходный код C++.