The Qt Core module adds these features to C++:
The following pages provide more information about Qt's core features:
Using a Qt module requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.
Use the find_package()
command to locate the needed module component in the Qt6
package:
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
For more details, see the Build with CMake overview.
If you use qmake to build your projects, Qt Core is linked by default.
Qt provides thread support in the form of platform-independent threading classes, a thread-safe way of posting events, and signal-slot connections across threads. Multithreaded programming is also a useful paradigm for performing time-consuming operations without freezing the user interface of an application.
The Thread Support in Qt page contains information on implementing threads in applications. Additional concurrent classes are provided by the Qt Concurrent module.
Qt provides a resource system for organizing application files and assets, a set of containers, and classes for receiving input and printing output.
In addition, Qt Core provides a platform-independent mechanism for storing binary files in the application's executable.
Qt Core also provides some of Qt's key frameworks.
Changes to Qt Core lists important changes in the module API and functionality that were made for the Qt 6 series of Qt.
Qt Core is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses: The GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.
Executables on Windows potentially link against The QtEntryPoint Library. This library is available under commercial licenses and also under the BSD 3-clause "New" or "Revised" License.
Furthermore, Qt Core in Qt 6.4.1 may contain third party modules under the following permissive licenses:
BLAKE2 (reference implementation), version 54f4faa4c16ea34bcd59d16e8da46a64b259fc07 |
Creative Commons Zero v1.0 Universal or Apache License 2.0 |
zlib License |
|
BSD 3-clause "New" or "Revised" License |
|
BSD 3-clause "New" or "Revised" License |
|
BSD-3-Clause |
|
Public Domain |
|
Public Domain |
|
BSD 2-clause "Simplified" License |
|
BSD 3-clause "New" or "Revised" License |
|
BSD 3-clause "New" or "Revised" License |
|
Public Domain |
|
Creative Commons Zero v1.0 Universal |
|
BSD 2-clause "Simplified" License |
|
BSD 3-clause "New" or "Revised" License |
|
Creative Commons Zero v1.0 Universal |
|
MIT License |
|
Unicode License Agreement - Data Files and Software (2016) |
|
Unicode License Agreement - Data Files and Software (2016) |
|
BSD-3-Clause |
|
MIT License |