Qt Core
Основные возможности
Qt Core добавляет следующие возможности в C++:
- очень мощный механизм бесшовной связи объектов, называемый сигналами и слотами
- запрашиваемые и настраиваемые свойства объектов
- иерархические и запрашиваемые деревья объектов, которые организуют
- владение объектами естественным образом с помощью защищенных указателей (QPointer)
- динамический преобразование типов, работающий между библиотеками
На следующих страницах вы найдете более подробную информацию о ключевых возможностях Qt Core:
Использование модуля
Для использования Qt-модуля необходимо связать его библиотеку, либо напрямую, либо через другие зависимости. Несколько инструментов сборки поддерживают это, включая CMake и qmake.
Сборка с помощью CMake
Используйте команду find_package() для поиска необходимых компонентов модуля в пакете Qt5.
find_package(Qt5 COMPONENTS Core REQUIRED) target_link_libraries(mytarget Qt5::Core)
См. также общие сведения о сборке с помощью CMake.
Сборка с помощью qmake
Если вы используете qmake для сборки своих проектов, Qt5Core подключается по умолчанию.
Потоки и конкуретное программирование
Qt предоставляет поддержку потоков в виде независимых от платформы классов потоков, безопасный способ отправки событий и связи сигналов-слотов через потоки. Многопоточное программирование также является полезной парадигмой для выполнения длительных операций без зависания пользовательского интерфейса приложения.
На странице Поддержка потоков в Qt содержится информация по реализации потоков в приложениях. Дополнительные конкурентные классы предоставляются модулем Qt Concurrent.
Ввод/вывод, ресурсы и контейнеры
Qt предоставляет систему ресурсов для организации файлов и активов приложения, набор контейнеров и классы для приема ввода и вывода.
Кроме того, Qt Core предоставляет независимый от платформы механизм для хранения двоичных файлов в исполняемом файле приложения.
Дополнительные фреймворки
Qt Core также предоставляет некоторые ключевые фреймворки Qt.
- Фреймворк анимации
- Поддержка JSON в Qt
- Фреймворк конечного автомата
- Как создавать Qt-плагины
- Система событий
Лицензии и авторские права
Qt Core доступен по коммерческим лицензиям от The Qt Company. Кроме того, он доступен по лицензиям свободного программного обеспечения. Начиная с Qt 5.4, эти лицензии свободного программного обеспечения — GNU Lesser General Public License, версия 3 или GNU General Public License, версия 2. Дополнительные сведения см. в Qt Licensing.
Исполняемые файлы в Windows потенциально ссылаются на библиотеку qtmain. Эта библиотека доступна по коммерческим лицензиям и по лицензии BSD 3-clause "New" или "Revised".
Кроме того, Qt Core в Qt 5.12.4 может содержать модули сторонних разработчиков под следующими разрешительными лицензиями:
Лицензия zlib |
|
Лицензия BSD 3-clause "New" или "Revised" |
|
Эффективные двоично-десятичные и десятично-двоичные преобразования для IEEE Doubles, версия 3.1.1 |
Лицензия BSD 3-clause "New" или "Revised" |
FreeBSD strtoll и strtoull, версия 18b29f3fb8abee5d57ed8f4a44f806bec7e0eeff |
Лицензия BSD 3-clause "New" или "Revised" |
Общественное достояние |
|
Общественное достояние |
|
Лицензия BSD 2-clause "Simplified" |
|
Лицензия BSD 3-clause "New" или "Revised" |
|
Лицензия BSD 3-clause "New" или "Revised" |
|
Общественное достояние |
|
Creative Commons Zero v1.0 Universal |
|
Лицензия BSD 2-clause "Simplified" |
|
Лицензия BSD 3-clause "New" или "Revised" |
|
Лицензия BSD 2-clause "Simplified" |
|
Лицензия BSD 2-clause "Simplified" |
|
Лицензия BSD 2-clause "Simplified" |
|
Лицензия BSD 2-clause "Simplified" |
|
Лицензия BSD 2-clause "Simplified" |
|
Лицензия BSD 2-clause "Simplified" |
|
Лицензия BSD 2-clause "Simplified" |
|
Mozilla Public License 2.0 |
|
MIT License |
|
Соглашение об использовании лицензии Unicode — файлы данных и программное обеспечение (2016) |
|
Общие данные о региональных настройках Unicode (CLDR), версия v35.1 |
Соглашение об использовании лицензии Unicode — файлы данных и программное обеспечение (2016) |
MIT License |
Справочник
Вот ссылки на материалы справочника API.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qtcore-index.html