- Qt 6.9
- New Classes and Functions in Qt 6.6
- Qt 6.9.2 Reference Documentation

# New Classes and Functions in Qt 6.6

This page contains a comprehensive list of all new classes and functions introduced in Qt 6.6.

- New Namespaces
- New Classes
- New Member Functions
- New Functions in Namespaces
- New Global Functions
- New Macros
- New Enum Types
- New Enum Values
- New Type Aliases
- New Properties
- New Variables
- New QML Types
- New QML Properties
- New QML Signals
- New QML Methods

### New Namespaces

`(since 6.6)` namespace | QWebEngineGlobalSettings

### New Classes

A
  Any (QtProtobuf)

B
  BlockVariable (QShaderDescription)
  BuiltinVariable (QShaderDescription)

C
  QCapturableWindow

D
  DnsMode (QWebEngineGlobalSettings)

G
  QGrpcCallOptions
  QGrpcChannelOptions

I
  Id128Bytes (QUuid)
  InOutVariable (QShaderDescription)

N
  QNativeIpcKey
  QNtfsPermissionCheckGuard

O
  QOpcUaConnectionSettings

P
  PushConstantBlock (QShaderDescription)
  QPdfLinkModel
  QPdfPageSelector

Q
  QQuick3DExtensionHelpers

R
  QRhi
  QRhiBuffer
  QRhiColorAttachment
  QRhiCommandBuffer
  QRhiComputePipeline
  QRhiD3D11InitParams
  QRhiD3D11NativeHandles
  QRhiDepthStencilClearValue
  QRhiDriverInfo
  QRhiGles2InitParams
  QRhiGles2NativeHandles
  QRhiGraphicsPipeline
  QRhiInitParams
  QRhiMetalCommandBufferNativeHandles
  QRhiMetalInitParams
  QRhiMetalNativeHandles
  QRhiNativeHandles
  QRhiNullInitParams
  QRhiNullNativeHandles
  QRhiReadbackDescription
  QRhiReadbackResult
  QRhiRenderBuffer
  QRhiRenderPassDescriptor
  QRhiRenderTarget
  QRhiResource
  QRhiResourceUpdateBatch
  QRhiSampler
  QRhiScissor
  QRhiShaderResourceBinding
  QRhiShaderResourceBindings
  QRhiShaderStage
  QRhiStats
  QRhiSwapChain
  QRhiSwapChainHdrInfo
  QRhiSwapChainProxyData
  QRhiSwapChainRenderTarget
  QRhiTexture
  QRhiTextureCopyDescription
  QRhiTextureRenderTarget
  QRhiTextureRenderTargetDescription
  QRhiTextureSubresourceUploadDescription
  QRhiTextureUploadDescription
  QRhiTextureUploadEntry
  QRhiVertexInputAttribute
  QRhiVertexInputBinding
  QRhiVertexInputLayout
  QRhiViewport
  QRhiVulkanCommandBufferNativeHandles
  QRhiVulkanInitParams
  QRhiVulkanNativeHandles
  QRhiVulkanRenderPassNativeHandles

S
  QScopedPropertyUpdateGroup
  QSGD3D12Texture (QNativeInterface)
  QShader
  QShaderBaker
  QShaderCode
  QShaderDescription
  QShaderKey
  QShaderVersion
  StencilOpState (QRhiGraphicsPipeline)
  StorageBlock (QShaderDescription)

T
  TargetBlend (QRhiGraphicsPipeline)

U
  UniformBlock (QShaderDescription)
  UnixProcessParameters (QProcess)

W
  QWindowCapture

### New Member Functions

Class QAbstractOAuthReplyHandler:

`(since 6.6)` void | tokenRequestErrorOccurred(QAbstractOAuth::Error error, const QString &errorString)

Class QBluetoothAddress:

`(since 6.6)` size_t | qHash(const QBluetoothAddress &key, size_t seed)

Class QBluetoothPermission:

`(since 6.6)` QBluetoothPermission::CommunicationModes | communicationModes() const
`(since 6.6)` void | setCommunicationModes(QBluetoothPermission::CommunicationModes modes)

Class QBluetoothUuid:

`(since 6.6)` QBluetoothUuid | fromCBUUID(CBUUID *cbUuid)
`(since 6.6)` CBUUID * | toCBUUID() const

Class QByteArray:

`(since 6.6)` QByteArray & | assign(QByteArrayView v)
`(since 6.6)` QByteArray & | assign(InputIterator first, InputIterator last)
`(since 6.6)` QByteArray & | assign(qsizetype n, char c)

Class QDebug:

`(since 6.6)` QDebug & | operator<<(std::chrono::duration<Rep, Period> duration)

Class QDnsLookup:

`(since 6.6)` void | setNameserver(const QHostAddress &nameserver, quint16 port)

Class QElapsedTimer:

`(since 6.6)` QElapsedTimer::Duration | durationElapsed() const
`(since 6.6)` QElapsedTimer::Duration | durationTo(const QElapsedTimer &other) const

Class QFileInfo:

`(since 6.6)` QDateTime | birthTime(const QTimeZone &tz) const
`(since 6.6)` QDateTime | fileTime(QFileDevice::FileTime time, const QTimeZone &tz) const
`(since 6.6)` std::filesystem::path | filesystemReadSymLink() const
`(since 6.6)` QDateTime | lastModified(const QTimeZone &tz) const
`(since 6.6)` QDateTime | lastRead(const QTimeZone &tz) const
`(since 6.6)` QDateTime | metadataChangeTime(const QTimeZone &tz) const
`(since 6.6)` QString | readSymLink() const

Class QFileSystemModel:

`(since 6.6)` QDateTime | lastModified(const QModelIndex &index, const QTimeZone &tz) const

Class QHostAddress:

`(since 6.6)` bool | isPrivateUse() const

Class QJSPrimitiveValue:

`(since 6.6)` const void * | constData() const
`(since 6.6)` void * | data()
`(since 6.6)` const void * | data() const
`(since 6.6)` QMetaType | metaType() const
`(since 6.6)` QJSPrimitiveValue | to() const

Class QList:

`(since 6.6)` QList<T> & | assign(std::initializer_list<T> l)
`(since 6.6)` QList<T> & | assign(InputIterator first, InputIterator last)
`(since 6.6)` QList<T> & | assign(qsizetype n, QList<T>::parameter_type t)

Class QMessageAuthenticationCode:

`(since 6.6)` QMessageAuthenticationCode & | operator=(QMessageAuthenticationCode &&other)
`(since 6.6)` QByteArrayView | resultView() const
`(since 6.6)` void | swap(QMessageAuthenticationCode &other)

Class QMessageBox:

`(since 6.6)` void | setOption(QMessageBox::Option option, bool on)
`(since 6.6)` bool | testOption(QMessageBox::Option option) const

Class QMetaEnum:

`(since 6.6)` QMetaType | metaType() const

Class QMetaProperty:

`(since 6.6)` bool | write(QObject *object, QVariant &&v) const
`(since 6.6)` bool | writeOnGadget(void *gadget, QVariant &&value) const

Class QMetaType:

`(since 6.6)` QMetaType | underlyingType() const

Class QMutex:

`(since 6.6)` bool | tryLock(QDeadlineTimer timer)

Class QSGD3D12Texture:

`(since 6.6)` QSGTexture * | fromNative(void *texture, int resourceState, QQuickWindow *window, const QSize &size, QQuickWindow::CreateTextureOptions options)

Class QNtfsPermissionCheckGuard:

`(since 6.6)` bool | qAreNtfsPermissionChecksEnabled()
`(since 6.6)` bool | qDisableNtfsPermissionChecks()
`(since 6.6)` bool | qEnableNtfsPermissionChecks()

Class QObject:

`(since 6.6)` bool | setProperty(const char *name, QVariant &&value)

Class QOpcUaClient:

`(since 6.6)` QOpcUaConnectionSettings | connectionSettings() const
`(since 6.6)` void | setConnectionSettings(const QOpcUaConnectionSettings &connectionSettings)

Class QPalette:

`(since 6.6)` const QBrush & | accent() const
`(since 6.6)` bool | operator==(const QPalette &p) const

Class QPdfDocument:

`(since 6.6)` int | pageIndexForLabel(const QString &label)

Class Key:

`(since 6.6)` size_t | qHash(const QPixmapCache::Key &key, size_t seed)

Class QPointer:

`(since 6.6)` QPointer<T> & | operator=(const QPointer<X> &other)

Class QProcess:

`(since 6.6)` void | setUnixProcessParameters(const QProcess::UnixProcessParameters &params)
`(since 6.6)` void | setUnixProcessParameters(QProcess::UnixProcessFlags flagsOnly)
`(since 6.6)` QProcess::UnixProcessParameters | unixProcessParameters() const

Class QPromise:

`(since 6.6)` bool | addResults(const QList<T> &results)
`(since 6.6)` bool | emplaceResult(Args &&... args)
`(since 6.6)` bool | emplaceResultAt(int index, Args &&... args)

Class QProtobufMessage:

`(since 6.6)` bool | setProperty(QAnyStringView propertyName, QVariant &&value)

Class QQmlEngine:

`(since 6.6)` void | markCurrentFunctionAsTranslationBinding()

Class QQuick3DGeometry:

`(since 6.6)` void | addTargetAttribute(quint32 targetId, QQuick3DGeometry::Attribute::Semantic semantic, int offset, int stride)
`(since 6.6)` void | addTargetAttribute(const QQuick3DGeometry::TargetAttribute &attribute)
`(since 6.6)` void | setTargetData(const QByteArray &data)
`(since 6.6)` void | setTargetData(int offset, const QByteArray &data)
`(since 6.6)` QQuick3DGeometry::TargetAttribute | targetAttribute(int index) const
`(since 6.6)` int | targetAttributeCount() const
`(since 6.6)` QByteArray | targetData() const

Class QQuickGraphicsConfiguration:

`(since 6.6)` void | setTimestamps(bool enable)
`(since 6.6)` bool | timestampsEnabled() const

Class QQuickGraphicsDevice:

`(since 6.6)` QQuickGraphicsDevice | fromRhi(QRhi *rhi)

Class QQuickRenderControl:

`(since 6.6)` QRhiCommandBuffer * | commandBuffer() const
`(since 6.6)` QRhi * | rhi() const

Class QQuickRenderTarget:

`(since 6.6)` QQuickRenderTarget | fromD3D12Texture(void *texture, int resourceState, uint format, const QSize &pixelSize, int sampleCount)
`(since 6.6)` QQuickRenderTarget | fromRhiRenderTarget(QRhiRenderTarget *renderTarget)

Class QQuickWindow:

`(since 6.6)` QSGTexture * | createTextureFromRhiTexture(QRhiTexture *texture, QQuickWindow::CreateTextureOptions options) const
`(since 6.6)` QRhi * | rhi() const
`(since 6.6)` QRhiSwapChain * | swapChain() const

Class QReadWriteLock:

`(since 6.6)` bool | tryLockForRead(QDeadlineTimer timeout)
`(since 6.6)` bool | tryLockForWrite(QDeadlineTimer timeout)

Class QRecursiveMutex:

`(since 6.6)` bool | tryLock(QDeadlineTimer timeout)

Class QSGRenderNode:

`(since 6.6)` QRhiCommandBuffer * | commandBuffer() const
`(since 6.6)` QRhiRenderTarget * | renderTarget() const

Class QSemaphore:

`(since 6.6)` bool | tryAcquire(int n, QDeadlineTimer timer)

Class QSharedMemory:

`(since 6.6)` QNativeIpcKey | nativeIpcKey() const
`(since 6.6)` void | setNativeKey(const QNativeIpcKey &key)

Class QSignalSpy:

`(since 6.6)` bool | wait(std::chrono::milliseconds timeout)

Class QSqlField:

`(since 6.6)` void | swap(QSqlField &other)

Class QSqlIndex:

`(since 6.6)` QSqlIndex & | operator=(QSqlIndex &&other)

Class QSqlQuery:

`(since 6.6)` QString | boundValueName(int pos) const
`(since 6.6)` QStringList | boundValueNames() const

Class QSqlRecord:

`(since 6.6)` QSqlRecord & | operator=(QSqlRecord &&other)
`(since 6.6)` void | swap(QSqlRecord &other)

Class QString:

`(since 6.6)` QString & | assign(QAnyStringView v)
`(since 6.6)` QString & | assign(InputIterator first, InputIterator last)
`(since 6.6)` QString & | assign(qsizetype n, QChar c)
`(since 6.6)` QString | fromEcmaString(emscripten::val jsString)
`(since 6.6)` emscripten::val | toEcmaString() const

Class QStringDecoder:

`(since 6.6)` char16_t * | appendToBuffer(char16_t *out, QByteArrayView in)

Class QTextListFormat:

`(since 6.6)` void | setStart(int start)
`(since 6.6)` int | start() const

Class QTextToSpeech:

`(since 6.6)` void | aboutToSynthesize(qsizetype id)
`(since 6.6)` qsizetype | enqueue(const QString &utterance)
`(since 6.6)` QList<QVoice> | findVoices(Args &&... args) const
`(since 6.6)` void | sayingWord(const QString &word, qsizetype id, qsizetype start, qsizetype length)
`(since 6.6)` void | synthesize(const QString &text, Functor &&functor)
`(since 6.6)` void | synthesize(const QString &text, const QObject *context, Functor &&functor)

Class QThread:

`(since 6.6)` void | sleep(std::chrono::nanoseconds nsecs)

Class QUuid:

`(since 6.6)` QUuid | fromBytes(const void *bytes, QSysInfo::Endian order)
`(since 6.6)` QUuid | fromUInt128(quint128 uuid, QSysInfo::Endian order)
`(since 6.6)` QUuid::Id128Bytes | toBytes(QSysInfo::Endian order) const
`(since 6.6)` quint128 | toUInt128(QSysInfo::Endian order) const

Class Id128Bytes:

`(since 6.6)` QUuid::Id128Bytes | qFromBigEndian(QUuid::Id128Bytes src)
`(since 6.6)` QUuid::Id128Bytes | qFromLittleEndian(QUuid::Id128Bytes src)
`(since 6.6)` QUuid::Id128Bytes | qToBigEndian(QUuid::Id128Bytes src)
`(since 6.6)` QUuid::Id128Bytes | qToLittleEndian(QUuid::Id128Bytes src)

Class QVarLengthArray:

`(since 6.6)` QVarLengthArray<T, Prealloc> & | assign(std::initializer_list<T> list)
`(since 6.6)` QVarLengthArray<T, Prealloc> & | assign(InputIterator first, InputIterator last)
`(since 6.6)` QVarLengthArray<T, Prealloc> & | assign(qsizetype n, const T &t)

Class QVariant:

`(since 6.6)` T & | emplace(Args &&... args)
`(since 6.6)` T & | emplace(std::initializer_list<U> list, Args &&... args)
`(since 6.6)` QVariant | fromStdVariant(std::variant<Types...> &&value)
`(since 6.6)` QVariant | fromValue(T &&value)
`(since 6.6)` T & | get(QVariant &v)
`(since 6.6)` T && | get(QVariant &&v)
`(since 6.6)` const T & | get(const QVariant &v)
`(since 6.6)` const T && | get(const QVariant &&v)
`(since 6.6)` T * | get_if(QVariant *v)
`(since 6.6)` const T * | get_if(const QVariant *v)

Class QWebEnginePage:

`(since 6.6)` QString | devToolsId() const

Class QWebEngineUrlRequestJob:

`(since 6.6)` void | setAdditionalResponseHeaders(const QMultiMap<QByteArray, QByteArray> &additionalResponseHeaders) const

Class QWebSocket:

`(since 6.6)` void | authenticationRequired(QAuthenticator *authenticator)

Class QWidget:

`(since 6.6)` void | setTabOrder(std::initializer_list<QWidget *> widgets)

Class QXmlStreamReader:

`(since 6.6)` bool | hasStandaloneDeclaration() const

### New Functions in Namespaces

`(since 6.6)` QFuture<ValueType> | makeReadyRangeFuture(std::initializer_list<ValueType> values)
`(since 6.6)` QFuture<QtFuture::ContainedType<Container>> | makeReadyRangeFuture(Container &&container)
`(since 6.6)` QFuture<std::decay_t<T>> | makeReadyValueFuture(T &&value)
`(since 6.6)` QFuture<void> | makeReadyVoidFuture()

### New Global Functions

`(since 6.6)` QString | qWebEngineGetDomainAndRegistry(const QUrl &url)

### New Macros

`(since 6.6)` | QT_NO_QEXCHANGE
`(since 6.6)` | QT_SUPPORTS_INT128
`(since 6.6)` qint128 | Q_INT128_C(literal)
`(since 6.6)` | Q_INT128_MAX
`(since 6.6)` | Q_INT128_MIN
`(since 6.6)` | Q_NODISCARD_CTOR
`(since 6.6)` quint128 | Q_UINT128_C(literal)
`(since 6.6)` | Q_UINT128_MAX

### New Enum Types

`(since 6.6)` enum | CommunicationMode { Access, Advertise, Default }
`(since 6.6)` enum class | ReferenceSurface { Map, Globe }
`(since 6.6)` enum class | Option { DontUseNativeDialog }
`(since 6.6)` enum class | UnixProcessFlag { ResetSignalHandlers, IgnoreSigPipe, CloseFileDescriptors, UseVFork, CreateNewSession, …, DisableCoreDumps }
`(since 6.6)` enum class | Capability { None, Speak, PauseResume, WordByWordProgress, Synthesize }

### New Enum Values

enum value | BoundaryHint::Utterance
enum value | ColorRole::Accent
enum value | Flag::FetchApiAllowed
enum value | GraphicsApi::Direct3D12
enum value | Language::Baluchi
enum value | Language::Ligurian
enum value | Language::Rohingya
enum value | Language::Torwali
enum value | Property::ListStart
enum value | RelationFlag::Described
enum value | RelationFlag::DescriptionFor
enum value | RelationFlag::FlowsFrom
enum value | RelationFlag::FlowsTo
enum value | Resource::GraphicsQueueFamilyIndexResource
enum value | Resource::GraphicsQueueIndexResource
enum value | Script::HanifiScript
enum value | TabPosition::Moving
enum value | Type::DevicePixelRatioChange
enum value | WebAction::ChangeTextDirectionLTR
enum value | WebAction::ChangeTextDirectionRTL
enum value | WildcardConversionOption::NonPathWildcardConversion

### New Type Aliases

`(since 6.6)` | qint128
`(since 6.6)` | quint128

### New Properties

`(since 6.6)` nameserverPort : `(since 6.6)` windowCapture : const `(since 6.6)` options : const `(since 6.6)` currentSearchResultIndex : const | `(since 6.6)` searchModel : const `(since 6.6)` engineCapabilities : const `(since 6.6)` language : const `(since 6.6)` responseHeaders : const

### New Variables

`(since 6.6)` | Windows11_23H2

### New QML Types

B
  BluetoothPermission

C
  CalendarPermission
  CameraPermission
  CapturableWindow
  ContactsPermission

L
  LocationPermission

M
  MicrophonePermission

P
  ProceduralMesh
  ProceduralMeshSubset
  ProceduralTextureData

V
  VoiceSelector

W
  WindowCapture

### New QML Properties

QML Type CaptureSession:

`(since 6.6)` | windowCapture : WindowCapture

QML Type CharacterController:

`(since 6.6)` | enableShapeHitCallback : bool

QML Type ColorGroup:

`(since 6.6)` | accent : color

QML Type Dial:

`(since 6.6)` | endAngle : real
`(since 6.6)` | startAngle : real

QML Type MediaRecorder:

`(since 6.6)` | audioBitRate : int
`(since 6.6)` | audioChannelCount : int
`(since 6.6)` | audioSampleRate : int
`(since 6.6)` | encodingMode : enumeration
`(since 6.6)` | videoBitRate : int
`(since 6.6)` | videoFrameRate : real
`(since 6.6)` | videoResolution : Size

QML Type Path:

`(since 6.6)` | simplify : bool

QML Type PathText:

`(since 6.6)` | font.features : object

QML Type RenderStats:

`(since 6.6)` | lastCompletedGpuTime : real

QML Type ScrollView:

`(since 6.6)` | effectiveScrollBarHeight : real
`(since 6.6)` | effectiveScrollBarWidth : real

QML Type Shape:

`(since 6.6)` | boundingRect : rect
`(since 6.6)` | preferredRendererType : enumeration

QML Type SpinBox:

`(since 6.6)` | live : bool

QML Type TableView:

`(since 6.6)` | selectionMode : enumeration

QML Type Text:

`(since 6.6)` | font.features : object

QML Type TextEdit:

`(since 6.6)` | font.features : object

QML Type TextInput:

`(since 6.6)` | font.features : object

QML Type TextToSpeech:

`(since 6.6)` | engineCapabilities : enumeration

QML Type TreeView:

`(since 6.6)` | rootIndex : QModelIndex

QML Type XMLHttpRequest:

`(since 6.6)` | responseURL : string

QML Type voice:

`(since 6.6)` | language : enumerator

### New QML Signals

`(since 6.6)` | aboutToSynthesize(number id)
`(since 6.6)` | sayingWord(string word, int id, int start, int length)
`(since 6.6)` | shapeHit(PhysicsNode *body, vector3D position, vector3D impulse, vector3D normal)
`(since 6.6)` | wrapped(Dial.WrapDirection direction)

### New QML Methods

QML Type TextToSpeech:

`(since 6.6)` | enqueue(string utterance)
`(since 6.6)` list<voice> | findVoices(map criteria)

QML Type XMLHttpRequest:

`(since 6.6)` void | overrideMimeType(mime)