Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qtcore-index.qdoc
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3
4/*!
5 \page qtcore-index.html
6 \title Qt Core
7
8 \brief The Qt Core module is part of Qt's essential modules.
9
10
11 The Qt Core module adds these features to C++:
12
13 \list
14 \li a very powerful mechanism for seamless object communication called
15 signals and slots
16 \li queryable and designable object properties
17 \li hierarchical and queryable object trees that organize object ownership
18 in a natural way with guarded pointers (QPointer)
19 \li a dynamic cast that works across library boundaries
20 \endlist
21
22 The following pages provide more information about Qt's core features:
23 \list
24 \li \l{The Meta-Object System}
25 \li \l{The Property System}
26 \li \l{Object Model}
27 \li \l{Object Trees & Ownership}
28 \li \l{Signals & Slots}
29 \endlist
30
31 \section1 Using the Module
32
33 \include {module-use.qdocinc} {using the c++ api}
34
35 \section2 Building with CMake
36
37 \include {module-use.qdocinc} {building with cmake} {Core}
38
39 \section2 Building with qmake
40
41 If you use \l qmake to build your projects, Qt Core is linked by default.
42
43 \section1 Threading and Concurrent Programming
44
45 Qt provides thread support in the form of platform-independent \l{Threading
46 Classes}{threading classes}, a thread-safe way of posting events, and
47 signal-slot connections across threads. Multithreaded programming is also a
48 useful paradigm for performing time-consuming operations without freezing
49 the user interface of an application.
50
51 The \l{Thread Support in Qt} page contains information on implementing
52 threads in applications. Additional concurrent classes are provided by the
53 \l{Qt Concurrent} module.
54
55 \section1 Input/Output, Resources, and Containers
56
57 Qt provides a resource system for organizing application files and assets,
58 a set of containers, and classes for receiving input and printing output.
59 \list
60 \li \l{Container Classes}
61 \li \l{Serializing Qt Data Types}
62 \li \l{Implicit Sharing}
63 \endlist
64
65 In addition, Qt Core provides a platform-independent mechanism for storing
66 binary files in the application's executable.
67
68 \list
69 \li \l{The Qt Resource System}
70 \endlist
71
72 \section1 Additional Frameworks
73 Qt Core also provides some of Qt's key frameworks.
74
75 \list
76 \li \l{The Animation Framework}
77 \li \l{JSON Support in Qt}
78 \li \l{CBOR Support in Qt}
79 \li \l{Inter-Process Communication}
80 \li \l{How to Create Qt Plugins}
81 \li \l{The Event System}
82 \li \l{Application Permissions}
83 \endlist
84
85 \section1 Reference
86
87 \list
88 \li \l{Qt Core C++ Classes}{C++ Classes}
89 \list
90 \li \l{Animation Framework}{Animation Classes}
91 \li \l{Threading Classes}
92 \li \l{Container Classes}
93 \li \l{Plugin Classes}
94 \li \l{Implicitly Shared Classes}
95 \li \l{Input/Output and Networking}{Input/Output Classes}
96 \li \l{Event Classes}
97 \endlist
98 \li CMake API
99 \list
100 \li \l{CMake Commands in Qt6 Core}{CMake Commands}
101 \li \l{CMake Variables in Qt6 Core}{CMake Variables}
102 \li \l{CMake Target Properties in Qt6 Core}{CMake Target Properties}
103 \endlist
104 \endlist
105
106 \section1 Module Evolution
107
108 \l{Changes to Qt Core} lists important changes in the module API
109 and functionality that were made for the Qt 6 series of Qt.
110
111 \section1 Licenses and Attributions
112
113 Qt Core is available under commercial licenses from \l{The Qt Company}.
114 In addition, it is available under free software licenses:
115 The \l{GNU Lesser General Public License, version 3}, or
116 the \l{GNU General Public License, version 2}.
117 See \l{Qt Licensing} for further details.
118
119 Executables on Windows potentially link
120 against \l{The QtEntryPoint Library}. This library is available
121 under commercial licenses and also under the
122 \l{BSD 3-clause "New" or "Revised" License}.
123
124 Furthermore, Qt Core in Qt \QtVersion may contain third party
125 modules under the following permissive licenses:
126
127 \generatelist{groupsbymodule attributions-qtcore}
128*/