Qt Core Reference Documentation

<QApplicationStatic>

<QForeach>

<QFunctionPointer>

<QOverload>

<QPair>

<QTypeInfo>

Generic Algorithms

generic algorithms

Types of Iterators

Input Iterators

Output Iterators

Forward Iterators

Bidirectional Iterators

Random Access Iterators

<QtAssert>

<QtCborCommon>

<QtClassHelperMacros>

Classes and helpers for defining comparison operators

Compiler-specific Macro Definitions

<QtDarwinHelpers>

Qt Deprecation Macros

Endian Conversion Functions

<QtEnvironmentVariables>

Global Qt Declarations

List of Headers Extracted from <QtGlobal>

Qt Logging Types

Generic Math Functions

<QtMinMax>

Qt Numeric Functions

Defining Plugins

<QtPreprocessorSupport>

Architecture-specific Macro Definitions

<QtResource>

<QtSwap>

Platform-specific Macro Definitions

<QtTranslation>

Qt Type Traits

Qt Type Declarations

<QtVersion>

<QtVersionChecks>

ANDROID_NDK_HOST_SYSTEM_NAME

cmake-variable-ANDROID_NDK_HOST_SYSTEM_NAME

ANDROID_SDK_ROOT

cmake-variable-ANDROID_SDK_ROOT

AUTOGEN_BETTER_GRAPH_MULTI_CONFIG

Android Bluetooth Permissions

Android: Access documents and other files from shared storage

Android: Content URIs

Android: DocumentFile.getParentFile()

Android: Keep your app responsive

Android: Log

Android: MediaStore

Android: Scoped storage

Android: log_print

Android: storage best practices

Apache Tika MimeType Definitions, version 5101bc7fb090ed7deffe56837d7633c9485a1e5d

Application Permissions

Usage

Declaring Permissions

Apple platforms

Android

Available Permissions

Best Practices

BLAKE2 (reference implementation), version ed1974ea83433eba7b2d95c5dcd9ac33cb847913

Bindable Properties

Modeling Subscription System with Signal/Slot Approach

Modeling Subscription System with Bindbable Properties

C++20 Overview

Support for std<@op>::</@op>chrono

QSpan - a Qt version of std<@op>::</@op>span

Three-way comparison operator

Additional important features

CMAKE_INSTALL_PREFIX

Calendar Backend Plugin Example

Introduction

Calendar backend

Example implementation

Julian Day conversions

Locale support

Plugin

Writing a plugin

Loading the plugin

Instantiating the backend

Extending QCalendarWidget

Changes to Qt Core

Container Classes

QHash, QMultiHash, QSet

qHash() Signature

Stability of References

Removal of QHash::insertMulti

QVector, QList

API Changes

Memory Layout

Stability of References

View classes in Qt6

General Overview

Introduction to view classes on the example of QStringView

Views as function argument

View manipulation functions

Non null-terminated strings and strings containing <@char>'\0'</@char>

Ownership model of views

Converting an QStringView to QString

Important notes

String related classes

The QStringView class

The QStringRef class

QMutex and Related Classes

QFuture and Related Classes

The QFuture class

Implicit conversions between QFuture and other types

Equality operators

Behavioral Changes to QFuture and QFutureWatcher

The QPromise class

IO Classes

The QProcess class

Meta-Type system

The QVariant class

The QMetaType class

Type registration

Regular expression classes

The QRegularExpression class

Different pattern syntax

Porting from QRegExp::exactMatch()

Porting from QRegExp's Exact Matching

Porting from QRegExp's Partial Matching

Global matching

Unicode properties support

Wildcard matching

Minimal matching

Caret modes

The QRegExp class

QEvent and subclasses

Serialization classes

Other classes

Qt State Machine Framework

Using the Qt5Compat module

QTextStream

Command Line cmake invocation

Comparison types overview

three-way comparison

Container Classes

assignable data type

assignable data types

default-constructed value

constant time

logarithmic time

linear time

linear-logarithmic time

quadratic time

container class

container classes

Introduction

The Container Classes

Iterating over Containers

Range-based for

Index-based

The Iterator Classes

STL-Style Iterators

Implicit sharing iterator problem

Java-Style Iterators

Qt containers compared with std containers

Qt containers and std algorithms

Other Container-Like Classes

Algorithmic Complexity

Optimizations for Primitive and Relocatable Types

Growth Strategies

Contiguous Cache Example

Creating CMake packages

Creating Custom Qt Types

Overview

Creating a Custom Type

Declaring the Type with QMetaType

Creating and Destroying Custom Objects

Making the Type Printable

Further Reading

DESTDIR

Data Compression Library (zlib), version 1.3.1

Easing Equations by Robert Penner

Efficient Binary-Decimal and Decimal-Binary Conversion Routines for IEEE Doubles, version 3.3.1

FOLDER

FetchContent_MakeAvailable()

File and Datastream Functions

GNUInstallDirs

Gradle wrapper, version 8.12

IANA character-sets encoding file

IPC: Shared Memory

ISO 8601

Implicit Sharing

deep copy

shallow copy

implicitly shared classes

implicit data sharing

implicit sharing

implicitly shared

reference counting

shared implicitly

shared classes

Overview

Implicit Sharing in Detail

List of Classes

Information Technology in Tamil

Inter-Process Communication

Synchronization primitives

Byte-level data sharing

Structured message passing

JNI Design Overview: Global and Local References

JNI tips: JavaVM and JNIEnv

JNI tips: Local and global references

Java Native Interface Specification

Java arrays

Java-style Iterators in Qt

Java-Style Iterators

Java: AttachCurrentThread

Java: Interface Function Table

Java: JNI Functions

KWin, version 5.13.4

KWin, version 5.13.4

KWin, version 5.13.4

Local Fortune Client

Local Fortune Server

MD4

MD5

MIME Type Browser

Running the Example

Main Window

Mandelbrot

RenderThread Class Definition

RenderThread Class Implementation

MandelbrotWidget Class Definition

MandelbrotWidget Class Implementation

The main() Function

Native IPC Keys

shared memory

system semaphore

Cross-platform safe key format

Native key format

POSIX Realtime

Windows

X/Open System Interfaces (XSI) / System V

Ownership

POSIX Realtime

X/Open System Interfaces (XSI) / System V

Windows

Interoperability with old Qt applications

X/Open System Interfaces (XSI) / System V

Interoperability with non-Qt applications

POSIX Realtime

Windows

X/Open System Interfaces (XSI) / System V

Object Model

Identity vs Value

Important Classes

Qt Objects: Identity vs Value

Object Trees & Ownership

note on the order of construction/destruction of QObjects

Overview

Construction/Destruction Order of QObjects

PCRE2 - Stack-less Just-In-Time Compiler, version 10.46

PCRE2, version 10.46

Parsing and displaying CBOR data

The CborDumper Class

The dumpOne() Function

The dumpOneDetailed() Function

CborTagDescription

Porting QDirIterator to QDirListing

Symbolic Links

QDirListing::DirEntry

Producer and Consumer using Semaphores

Global Variables

Producer Class

Consumer Class

The main() Function

Producer and Consumer using Wait Conditions

Global Variables

Producer Class

Consumer Class

The main() Function

Pros and Cons of Using QList

Subclassing

Thread safety

Subclassing

Subclassing

Thread safety

Compatible Character Types

Sizes and Sub-Strings

The Atomic API

Reference counting

Memory ordering

Test-and-set

Fetch-and-store

Fetch-and-add

Feature Tests for the Atomic API

The Atomic API

Memory ordering

Test-and-set

Fetch-and-store

Fetch-and-add

Feature Tests for the Atomic API

Memory Order

Requirements

Maximum size and out-of-memory conditions

C locale and ASCII functions

C Strings

Spacing Characters

Number-String Conversions

Character Case

Compatible Byte Types

Requirements

Requirements

CBOR support

Dealing with invalid or incomplete CBOR streams

CBOR support

Canonical CBOR encoding

Strict CBOR mode

Invalid CBOR stream

Extended types and tagged values

Undefined and null values

Simple types

CBOR support

QCborValueRef

Accuracy and Timer Resolution

Alternatives to QChronoTimer

POSIX fallback implementation

How to Use QCommandLineParser in Complex Applications

Requirements

The Event Loop and Event Handling

Application and Library Paths

Internationalization and Translations

Accessing Command Line Arguments

Locale Settings

Serializing Qt Classes

Serializing containers and strings

Versioning

Reading and Writing Raw Binary Data

Reading and Writing Qt Collection Classes

Reading and Writing Other Qt Classes

Using Read Transactions

Corruption and Security

Remarks

Range of Valid Dates

Remarks

Range of Valid Dates

Use of Timezones

Timezone transitions

Whole day transitions

Offsets From UTC

Reference Clocks

Timer types

std<@op>::</@op>chrono Compatibility

Basic Use

Formatting Options

Writing Custom Types to a Stream

Navigation and Directory Operations

Files and Directory Contents

The Current Directory and Other Special Paths

Path Manipulation and Strings

Examples

Platform Specific Issues

Reference Clocks

QEventDispatcher on macOS

qeventdispatcher_cf

Reading Files Directly

Using Streams to Read Files

Signals

Platform Specific Issues

Symbolic Links and Shortcuts

NTFS permissions

Performance Considerations

Platform Specific Issues

Using QFileSelector

Adding Selectors

Conflict Resolution when Multiple Selectors Apply

Flags and the Meta-Object System

Naming Convention

context_lifetime

The Gregorian Calendar

qHash

The hashing function

Algorithmic complexity attacks

Solar Hijri Calendar System

Calendar Organization

Leap Year Rules

Method Signatures

Explicit JNI Signatures

Handling Java Exception

Java Native Methods

The Lifetime of a Java Object

JNI Types

Object Types

Primitive Types

Other

QJsonValueRef

Julian Calendar

library location

Constraints

More Information on Using Qt Containers

Maximum size and out-of-memory conditions

Appropriateness of the formats

Matching combinations of language, script and territory

Requirements

Creating Category Objects

Checking Category Configuration

Default Category Configuration

Configuring Categories

Logging Rules

Installing a Custom Filter

Printing the Category

Property Meta-Data

Copying and Assignment

Requirements

Platform-Specific MIME Types

Communicating keys to other processes

Communicating keys to other Qt processes

Communicating keys to non-Qt processes

String representation of native keys

qt_ntfs_permission_lookup

No copy constructor

Thread Affinity

No Copy Constructor or Assignment Operator

Auto-Connection

Dynamic Properties

Internationalization (I18n)

typed permission

Typed Permissions

Running a Process

Finding the Executable

Environment variables

Communicating via Channels

Synchronous Process API

Seeding and determinism

Bulk data

System-wide random number generator

Fallback quality

Reentrancy and thread-safety

Standard C++ Library compatibility

Rendering

Coordinates

Constraints

Rendering

Coordinates

normal matching

extracting captured substrings

global matching

partial matching

validating user input

regular expression

Introduction

Pattern Options

Match Type and Match Options

Normal Matching

Extracting captured substrings

Global Matching

Partial Matching

Validating user input

Incremental/multi-segment matching

Error Handling

Unsupported Perl-compatible Regular Expressions Features

Debugging Code that Uses QRegularExpression

regular expression match

regular expression iterator

Dynamic Resource Loading

Corruption and Security

Custom Cleanup Handlers

Forward Declared Pointers

Basic Usage

QVariant and GUI Types

Section and Key Syntax

Fallback Mechanism

Restoring the State of a GUI Application

Accessing Settings from Multiple Threads or Processes Simultaneously

Platform-Specific Notes

Locations Where Application Settings Are Stored

Accessing INI and .plist Files Directly

Accessing the Windows Registry Directly

Accessing Common Registry Settings on Windows

Platform Limitations

Employee example

Implicit vs Explicit Sharing

Implicit vs Explicit Sharing

Optimize Performance for Usage in Qt Containers

Thread-Safety

Other Pointer Classes

Optional Pointer Tracking

write notifiers

Sorting

Filtering

Subclassing

span-STL

Variable-Size and Fixed-Size Spans

Const and Mutable Spans

Other Properties

QSpan vs. std::span

Compatible Iterators

Compatible Ranges

Initializing a string

Manipulating string data

Querying string data

Comparing strings

Converting between encoded string data and QString

Distinction between null and empty strings

Number formats

Floating-point formats

More efficient string construction

Maximum size and out-of-memory conditions

Initializing

Adding Strings

Iterating Over the Strings

Manipulating the Strings

Lazy Sequences

End Sentinel

Temporaries

QTP0002

qt_cmake_policy_qtp0002

QTP0003

qt_cmake_policy_qtp0003

QT_ANDROID_ABIS

cmake-target-property-QT_ANDROID_ABIS

QT_ANDROID_ABIS

cmake-variable-QT_ANDROID_ABIS

QT_ANDROID_APPLICATION_ARGUMENTS

cmake-variable-QT_ANDROID_APPLICATION_ARGUMENTS

QT_ANDROID_APP_ICON

cmake-target-property-QT_ANDROID_APP_ICON

QT_ANDROID_APP_NAME

cmake-target-property-QT_ANDROID_APP_NAME

QT_ANDROID_BUILD_ALL_ABIS

cmake-variable-QT_ANDROID_BUILD_ALL_ABIS

QT_ANDROID_COMPILE_SDK_VERSION

cmake-target-property-QT_ANDROID_COMPILE_SDK_VERSION

QT_ANDROID_DEPLOYMENT_DEPENDENCIES

cmake-target-property-QT_ANDROID_DEPLOYMENT_DEPENDENCIES

QT_ANDROID_DEPLOYMENT_SETTINGS_FILE

cmake-target-property-QT_ANDROID_DEPLOYMENT_SETTINGS_FILE

QT_ANDROID_DEPLOYMENT_TYPE

cmake-variable-QT_ANDROID_DEPLOYMENT_TYPE

QT_ANDROID_EXTRA_LIBS

cmake-target-property-QT_ANDROID_EXTRA_LIBS

QT_ANDROID_EXTRA_PLUGINS

cmake-target-property-QT_ANDROID_EXTRA_PLUGINS

QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTS

cmake-variable-QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTS

QT_ANDROID_MIN_SDK_VERSION

cmake-target-property-QT_ANDROID_MIN_SDK_VERSION

QT_ANDROID_MULTI_ABI_FORWARD_VARS

cmake-variable-QT_ANDROID_MULTI_ABI_FORWARD_VARS

QT_ANDROID_NO_DEPLOY_QT_LIBS

cmake-target-property-QT_ANDROID_NO_DEPLOY_QT_LIBS

QT_ANDROID_PACKAGE_NAME

cmake-target-property-QT_ANDROID_PACKAGE_NAME

QT_ANDROID_PACKAGE_SOURCE_DIR

cmake-target-property-QT_ANDROID_PACKAGE_SOURCE_DIR

QT_ANDROID_SDK_BUILD_TOOLS_REVISION

cmake-target-property-QT_ANDROID_SDK_BUILD_TOOLS_REVISION

QT_ANDROID_SIGN_AAB

cmake-variable-QT_ANDROID_SIGN_AAB

QT_ANDROID_SIGN_APK

cmake-variable-QT_ANDROID_SIGN_APK

QT_ANDROID_SYSTEM_LIBS_PREFIX

cmake-target-property-QT_ANDROID_SYSTEM_LIBS_PREFIX

QT_ANDROID_TARGET_SDK_VERSION

cmake-target-property-QT_ANDROID_TARGET_SDK_VERSION

QT_ANDROID_VERSION_CODE

cmake-target-property-QT_ANDROID_VERSION_CODE

QT_ANDROID_VERSION_NAME

cmake-target-property-QT_ANDROID_VERSION_NAME

QT_DEPLOY_BIN_DIR

cmake-variable-QT_DEPLOY_BIN_DIR

Example

QT_DEPLOY_IGNORED_LIB_DIRS

cmake-variable-QT_DEPLOY_IGNORED_LIB_DIRS

QT_DEPLOY_LIBEXEC_DIR

cmake-variable-QT_DEPLOY_LIBEXEC_DIR

Example

QT_DEPLOY_LIB_DIR

cmake-variable-QT_DEPLOY_LIB_DIR

Example

QT_DEPLOY_PLUGINS_DIR

cmake-variable-QT_DEPLOY_PLUGINS_DIR

Example

QT_DEPLOY_PREFIX

cmake-variable-QT_DEPLOY_PREFIX

QT_DEPLOY_QML_DIR

cmake-variable-QT_DEPLOY_QML_DIR

Example

QT_DEPLOY_SUPPORT

cmake-variable-QT_DEPLOY_SUPPORT

QT_DEPLOY_TRANSLATIONS_DIR

cmake-variable-QT_DEPLOY_TRANSLATIONS_DIR

Example

QT_DISCARD_FILE_CONTENTS

cmake-source-file-property-QT_DISCARD_FILE_CONTENTS

QT_ENABLE_VERBOSE_DEPLOYMENT

cmake-variable-QT_ENABLE_VERBOSE_DEPLOYMENT

QT_HOST_PATH

cmake-variable-QT_HOST_PATH

QT_I18N_SOURCE_LANGUAGE

cmake-variable-QT_I18N_SOURCE_LANGUAGE

QT_I18N_TRANSLATED_LANGUAGES

cmake-variable-QT_I18N_TRANSLATED_LANGUAGES

QT_IOS_LAUNCH_SCREEN

cmake-target-property-QT_IOS_LAUNCH_SCREEN

QT_IOS_LAUNCH_SCREEN

cmake-variable-QT_IOS_LAUNCH_SCREEN

QT_NO_COLLECT_BUILD_TREE_APK_DEPS

cmake-variable-QT_NO_COLLECT_BUILD_TREE_APK_DEPS

QT_NO_COLLECT_IMPORTED_TARGET_APK_DEPS

cmake-variable-QT_NO_COLLECT_IMPORTED_TARGET_APK_DEPS

QT_NO_SET_XCODE_BUNDLE_IDENTIFIER

cmake-variable-QT_NO_SET_XCODE_BUNDLE_IDENTIFIER

QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID

cmake-variable-QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID

QT_NO_STANDARD_PROJECT_SETUP

cmake-variable-QT_NO_STANDARD_PROJECT_SETUP

QT_NO_UTF8_SOURCE

cmake-target-property-QT_NO_UTF8_SOURCE

QT_PATH_ANDROID_ABI_<ABI>

cmake-variable-QT_PATH_ANDROID_ABI_<ABI>

QT_QML_IMPORT_PATH

cmake-target-property-QT_QML_IMPORT_PATH

QT_QML_ROOT_PATH

cmake-target-property-QT_QML_ROOT_PATH

QT_RESOURCE_ALIAS

cmake-source-file-property-QT_RESOURCE_ALIAS

QT_RESOURCE_PREFIX

cmake-target-property-QT_RESOURCE_PREFIX

QT_TARGETS_FOLDER

cmake-global-property-QT_TARGETS_FOLDER

QT_USE_TARGET_ANDROID_BUILD_DIR

cmake-variable-QT_USE_TARGET_ANDROID_BUILD_DIR

QT_WASM_INITIAL_MEMORY

cmake-target-property-QT_WASM_INITIAL_MEMORY

QT_WASM_MAXIMUM_MEMORY

cmake-target-property-QT_WASM_MAXIMUM_MEMORY

QT_WASM_PTHREAD_POOL_SIZE

cmake-target-property-QT_WASM_PTHREAD_POOL_SIZE

Default File Name Template

Default File Name Template

QTextStream manipulators

Managing Threads

Caveats

Remarks

Lightweight Time Representations

IANA Time Zone IDs

UTC Offset Time Zones

Windows Time Zones

System Time Zone

Time Zone Offsets

License

Accuracy and Timer Resolution

Alternatives to QTimer

Looking up Translations

Using Multiple Translations

Security Considerations

Relative URLs vs Relative Paths

Error checking

Character Conversions

Encoding

Handling of spaces and plus ("+")

Full decoding

Non-standard delimiters

Compatible Character Types

Sizes and Sub-Strings

C++20, char8_t, and QUtf8StringView

Variant field

Version field

A Note on GUI Types

Using canConvert() and convert() Consecutively

QXmlStream Bookmarks Example

XbelWriter Class Definition

XbelWriter Class Implementation

XbelReader Class Definition

XbelReader Class Implementation

MainWindow Class Definition

MainWindow Class Implementation

main() Function

Namespaces

Incremental Parsing

Performance and Memory Consumption

Qt Namespace

application state

widget attributes

window state

window flag

Qt Bindable Properties

Qt's Bindable Properties

Why Use Bindable Properties?

Introductory Example

Bindable Property Getters and Setters

Bindable Property Getters

Bindable Property Setters

Writing to a Bindable Property

Writing Intermediate Values to Bindable Properties

Writing Bindable Properties in Transitional States

Bindable Properties with Virtual Setters and Getters

Formulating a Property Binding

Bindable Properties and Multithreading

Tracking Bindable Properties

Interaction with Q_PROPERTYs

Qt Core

Using the Module

Building with CMake

Building with qmake

Threading and Concurrent Programming

Input/Output, Resources, and Containers

Additional Frameworks

Reference

Module Evolution

Licenses and Attributions

Qt Core module topics

Qt Creator: Editing Manifest Files

Qt Serialization

Advantages of JSON and CBOR

Advantages of QDataStream Classes

Advantages of Qt XML C++ Classes

The DOM XML Classes

The Stream-Based XML Classes

Classes that Provide Serialization

Qt for Android Manifest File Configuration

android.app.lib_name

android.app.background_running

android.app.arguments

android.app.system_libs_prefix

Qt Project to Manifest Configuration

Qt Default Configuration

Qt Specific Meta-data

Application Specific Meta-data

Meta-data in Services

Qt Permissions and Features

Customizing Permissions

Style Extraction

Qt Manifest before 6.2 Release

Qt for Android Notifier

Running the Example

Calling Java Methods from C++ Code

Qt's foreach Keyword

The foreach Keyword

QtAbstractItemModel

QtAbstractItemModel.OnDataChangedListener

QtAbstractListModel

JNI

Secure Hash Algorithm SHA-1

Secure Hash Algorithm SHA-3 - Keccak, version 3.2

sha3_keccak

Secure Hash Algorithm SHA-3 - brg_endian, version 4b9e13ead2c5b5e41ca27c65de4dd69ae0bac228

sha3_endian

Secure Hash Algorithms SHA-384 and SHA-512

Serializing Qt Data Types

Shared Memory

shared memory

Sharing memory using QSharedMemory

Sharing memory via memory-mapped files

Linux hints on memory-mapped files

FreeBSD hints on memory-mapped files

Windows hints on memory-mapped files

Signals & Slots

3rd Party Signals and Slots

Signals and Slots

Introduction

Signals and Slots

Signals

Slots

A Small Example

A Real Example

Connecting to Overloaded Signals and Slots

Automatic Connection Management

Signals And Slots With Default Arguments

Advanced Signals and Slots Usage

Using Qt with 3rd Party Signals and Slots

Signals and slots in Qt-based libraries

SipHash Algorithm

The Animation Framework

Animation

The Animation architecture

Classes offered by the framework

Animating Qt properties

Animations and the Graphics View Framework

Easing curves

Grouping animations

Object ownership

The Event System

How Events are Delivered

Event Types

Event Handlers

Event Filters

Sending Events

The Meta-Object System

Meta-Object System

The Property System

Qt's Property System

Requirements for Declaring Properties

Reading and Writing Properties with the Meta-Object System

A Simple Example

Dynamic Properties

Properties and Custom Types

Adding Additional Information to a Class

Using Bindable Properties

The Qt Resource System

{Qt Resource Collection File}

{Resource Collection Files}

resource system

The Qt Resource Compiler (rcc)

Qt Resource Collection File (.qrc)

Build System Integration

CMake

qmake

Runtime API

Advanced Topics

Prefixes

Aliases

Discarding the file contents

Language Selectors

Embedding Large Files

External Resource Files

Resources in a Qt for Python application

Compression

Explicit Loading and Unloading of Embedded Resources

The androiddeployqt Tool

Prerequisites Before Running androiddeployqt

Command Line Arguments

Dependencies Detection

Deployment in Qt Creator

The androidtestrunner Tool

Introduction

How it works

Running tests with the test wrapper

Retrieving results

How to use it

Mandatory Arguments

Optional arguments

Example usage

Timers

TinyCBOR, version 0.6.1

Unicode Character Database (UCD), version 34

Unicode Common Locale Data Repository (CLDR), version v47

extra-cmake-modules, version 5.84.0

extra-cmake-modules, version 5.84.0

extra-cmake-modules, version 5.84.0

forkfd

QtModelIndex

QtSignalListener<T>

Queued Custom Type

Overview

The Block Class

The Window Class

The RenderThread Class

Registering the Type

Further Reading

Saving and Loading a Game

The Character Class

The Level Class

The Game Class

Tying It All Together

Serialization Converter

The Converter Class

The Available Converters

The CborConverter and CborDiagnosticDumper Classes

The convert program

Tamil Script Code

USE_FOLDERS

Understand the Qt Containers

XML Japanese Profile

add_subdirectory()

cmake_policy

install(SCRIPT)

install(TARGETS)

16-bit Floating Point Support

qt_add_android_permission

qt6_add_android_permission

Synopsis

Description

Example

qt_add_big_resources

qt6_add_big_resources

Synopsis

Description

Arguments

Examples

qt_add_binary_resources

qt6_add_binary_resources

Synopsis

Description

Arguments

Examples

qt_add_executable

qt6_add_executable

Synopsis

Description

Target Creation

Linking Qt::Core

Finalization

Examples

qt_add_library

qt_add_library finalization

qt6_add_library

Synopsis

Description

Target Creation

Finalization

qt_add_plugin

qt6_add_plugin

Synopsis

Description

Finalization

qt_add_resources

qt6_add_resources

Synopsis

Description

Arguments of the target-based variant

Arguments of both variants

Examples

Caveats

qt_add_win_app_sdk

qt6_add_win_app_sdk

Synopsis

Description

qt_allow_non_utf8_sources

qt6_allow_non_utf8_sources

Synopsis

Description

qt_android_add_apk_target

qt6_android_add_apk_target

Synopsis

Description

Example

qt_android_apply_arch_suffix

qt6_android_apply_arch_suffix

Synopsis

Description

qt_android_generate_deployment_settings

qt6_android_generate_deployment_settings

Synopsis

Description

CMake Variables

Target Properties

Example

qt_deploy_qt_conf

qt6_deploy_qt_conf

Synopsis

Description

Example

qt_deploy_runtime_dependencies

qt6_deploy_runtime_dependencies

Synopsis

Description

Arguments

Example

qt_deploy_translations

qt6_deploy_translations

Synopsis

Description

Arguments

Example

qt_disable_unicode_defines

qt6_disable_unicode_defines

Synopsis

Description

qt_extract_metatypes

qt6_extract_metatypes

Synopsis

Description

Automatic metatype extraction

qt_finalize_project

qt6_finalize_project

Synopsis

Description

Examples

qt_finalize_target

qt6_finalize_target

Synopsis

Description

Executable Targets

All Platforms

Android

WASM

iOS

Library Targets

qt_generate_deploy_app_script

qt6_generate_deploy_app_script

Synopsis

Description

Example

qt_generate_deploy_script

qt6_generate_deploy_script

Synopsis

Description

Example

qt_generate_moc

qt6_generate_moc

Synopsis

Description

Arguments

Examples

qt_import_plugins

qt6_import_plugins

Synopsis

Description

Dynamic plugins

Static plugins

Examples

qt_no_entrypoint

cmake-target-property-qt_no_entrypoint

qt_policy

qt6_policy

Synopsis

Description

qt_set_finalizer_mode

qt6_set_finalizer_mode

Synopsis

Description

Example

qt_standard_project_setup

qt6_standard_project_setup

Synopsis

Description

Internationalization

Example

qt_wrap_cpp

qt6_wrap_cpp

Synopsis

Description

Arguments

Examples

Animation Framework

CBOR Support in Qt

CBOR

Overview

The CBOR Classes

The QCborValue Class

The QCborArray Class

The QCborMap Class

The QCborStreamReader Class

The QCborStreamWriter Class

CMake Commands in Qt6 Core

CMake Global Properties in Qt6 Core

CMake Source File Properties in Qt6 Core

CMake Target Properties in Qt6 Core

CMake Variables in Qt6 Core

Event Classes

Input/Output and Networking

JSON Support in Qt

JSON

Overview

The JSON Classes

Plugin Classes

Implicitly Shared Classes

Classes for string data

Overview

Impactful tips

Efficient usage

Encoding

Functionality

Literals

Basic string classes

High-level string-related classes

Which string class to use?

String class for creating API

Member variables

Function arguments

Return values

String class for using API

List of all string related classes

Qt Core C++ Classes

Qt Core Private C++ Classes