- Qt 6.12
- New Classes and Functions in Qt 6.10
- Qt 6.12.0 Reference Documentation

# New Classes and Functions in Qt 6.10

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

- 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 Classes

A
  QAccessibilityHints

M
  MultiValue_t (QtGrpc)

P
  QPlaybackOptions

R
  QRangeModel
  QRhiAdapter
  RowOptions (QRangeModel)

W
  QWebEngineExtensionInfo
  QWebEngineExtensionManager

### New Member Functions

Class Q3DBarsWidgetItem:

`(since 6.10)` void | renderSliceToImage(int requestedIndex, QtGraphs3D::SliceCaptureType sliceType)
`(since 6.10)` void | sliceImageChanged(const QImage &image)

Class Q3DSurfaceWidgetItem:

`(since 6.10)` void | renderSliceToImage(int index, int requestedIndex, QtGraphs3D::SliceCaptureType sliceType)
`(since 6.10)` void | sliceImageChanged(const QImage &image)

Class QAbstractItemDelegate:

`(since 6.10)` bool | handleEditorEvent(QObject *editor, QEvent *event)

Class QAbstractSpinBox:

`(since 6.10)` void | returnPressed()

Class QAudioSink:

`(since 6.10)` qsizetype | bufferFrameCount() const
`(since 6.10)` qsizetype | framesFree() const
`(since 6.10)` void | setBufferFrameCount(qsizetype value)

Class QAudioSource:

`(since 6.10)` qsizetype | bufferFrameCount() const
`(since 6.10)` qsizetype | framesAvailable() const
`(since 6.10)` void | setBufferFrameCount(qsizetype value)

Class QByteArray:

`(since 6.10)` QByteArray & | nullTerminate()
`(since 6.10)` QByteArray | nullTerminated() &&
`(since 6.10)` QByteArray | nullTerminated() const &
`(since 6.10)` | operator std::string_view() const

Class QCborArray:

`(since 6.10)` QCborArray & | operator=(QCborArray &&other)

Class QCborMap:

`(since 6.10)` auto | asKeyValueRange() &&
`(since 6.10)` auto | asKeyValueRange() &
`(since 6.10)` auto | asKeyValueRange() const &&
`(since 6.10)` auto | asKeyValueRange() const &
`(since 6.10)` QCborMap::const_key_value_iterator | constKeyValueBegin() const
`(since 6.10)` QCborMap::const_key_value_iterator | constKeyValueEnd() const
`(since 6.10)` QCborMap::key_value_iterator | keyValueBegin()
`(since 6.10)` QCborMap::const_key_value_iterator | keyValueBegin() const
`(since 6.10)` QCborMap::key_value_iterator | keyValueEnd()
`(since 6.10)` QCborMap::const_key_value_iterator | keyValueEnd() const
`(since 6.10)` QCborMap & | operator=(QCborMap &&other)

Class QCborStreamWriter:

`(since 6.10)` void | append(QUtf8StringView str)

Class QCborValue:

`(since 6.10)` QAnyStringView | toStringView(QAnyStringView defaultValue = {}) const

Class QDBusConnectionInterface:

`(since 6.10)` QDBusReply<QVariantMap> | serviceCredentials(const QString &serviceName) const

Class QDBusPendingReply:

`(since 6.10)` int & | operator=(QDBusPendingReply<Types...> &&other)

Class QDataStream:

`(since 6.10)` | operator bool() const

Class QFileInfo:

`(since 6.10)` bool | isOther() const

Class QFuture:

`(since 6.10)` void | cancelChain()

Class QGrpcCallOptions:

`(since 6.10)` QGrpcCallOptions & | addMetadata(QByteArrayView key, QByteArrayView value)
`(since 6.10)` QMultiHash<QByteArray, QByteArray> | metadata(QtGrpc::MultiValue_t) &&
`(since 6.10)` const QMultiHash<QByteArray, QByteArray> & | metadata(QtGrpc::MultiValue_t) const &
`(since 6.10)` QGrpcCallOptions & | setMetadata(QMultiHash<QByteArray, QByteArray> &&metadata)
`(since 6.10)` QGrpcCallOptions & | setMetadata(const QMultiHash<QByteArray, QByteArray> &metadata)
`(since 6.10)` QGrpcCallOptions & | setMetadata(std::initializer_list<std::pair<QByteArray, QByteArray>> metadata)

Class QGrpcChannelOptions:

`(since 6.10)` QGrpcChannelOptions & | addMetadata(QByteArrayView key, QByteArrayView value)
`(since 6.10)` QMultiHash<QByteArray, QByteArray> | metadata(QtGrpc::MultiValue_t) &&
`(since 6.10)` const QMultiHash<QByteArray, QByteArray> & | metadata(QtGrpc::MultiValue_t) const &
`(since 6.10)` QGrpcChannelOptions & | setMetadata(QMultiHash<QByteArray, QByteArray> &&metadata)
`(since 6.10)` QGrpcChannelOptions & | setMetadata(const QMultiHash<QByteArray, QByteArray> &metadata)
`(since 6.10)` QGrpcChannelOptions & | setMetadata(std::initializer_list<std::pair<QByteArray, QByteArray>> list)

Class QGrpcOperation:

`(since 6.10)` const QMultiHash<QByteArray, QByteArray> & | serverInitialMetadata() const &
`(since 6.10)` const QMultiHash<QByteArray, QByteArray> & | serverTrailingMetadata() const &

Class QGrpcOperationContext:

`(since 6.10)` const QMultiHash<QByteArray, QByteArray> & | serverInitialMetadata() const &
`(since 6.10)` const QMultiHash<QByteArray, QByteArray> & | serverTrailingMetadata() const &
`(since 6.10)` void | setServerInitialMetadata(QMultiHash<QByteArray, QByteArray> &&metadata)
`(since 6.10)` void | setServerTrailingMetadata(QMultiHash<QByteArray, QByteArray> &&metadata)

Class QHttpHeaders:

`(since 6.10)` std::optional<QDateTime> | dateTimeValue(QAnyStringView name) const
`(since 6.10)` std::optional<QDateTime> | dateTimeValue(QHttpHeaders::WellKnownHeader name) const
`(since 6.10)` std::optional<QDateTime> | dateTimeValueAt(qsizetype i) const
`(since 6.10)` std::optional<QList<QDateTime>> | dateTimeValues(QAnyStringView name) const
`(since 6.10)` std::optional<QList<QDateTime>> | dateTimeValues(QHttpHeaders::WellKnownHeader name) const
`(since 6.10)` std::optional<qint64> | intValue(QAnyStringView name) const
`(since 6.10)` std::optional<qint64> | intValue(QHttpHeaders::WellKnownHeader name) const
`(since 6.10)` std::optional<qint64> | intValueAt(qsizetype i) const
`(since 6.10)` std::optional<QList<qint64>> | intValues(QAnyStringView name) const
`(since 6.10)` std::optional<QList<qint64>> | intValues(QHttpHeaders::WellKnownHeader name) const
`(since 6.10)` void | setDateTimeValue(QAnyStringView name, const QDateTime &dateTime)
`(since 6.10)` void | setDateTimeValue(QHttpHeaders::WellKnownHeader name, const QDateTime &dateTime)

Class QHttpServerConfiguration:

`(since 6.10)` QSpan<const std::pair<QHostAddress, int>> | blacklist() const
`(since 6.10)` std::chrono::seconds | keepAliveTimeout() const
`(since 6.10)` void | setBlacklist(QSpan<const std::pair<QHostAddress, int>> subnetList)
`(since 6.10)` void | setKeepAliveTimeout(std::chrono::seconds timeout)
`(since 6.10)` void | setWhitelist(QSpan<const std::pair<QHostAddress, int>> subnetList)
`(since 6.10)` QSpan<const std::pair<QHostAddress, int>> | whitelist() const

Class QHttpServerRequest:

`(since 6.10)` QHttpServerRequest & | operator=(QHttpServerRequest &&other)
`(since 6.10)` QHttpServerRequest & | operator=(const QHttpServerRequest &other)
`(since 6.10)` void | swap(QHttpServerRequest &other)

Class QJsonObject:

`(since 6.10)` auto | asKeyValueRange() &&
`(since 6.10)` auto | asKeyValueRange() &
`(since 6.10)` auto | asKeyValueRange() const &&
`(since 6.10)` auto | asKeyValueRange() const &
`(since 6.10)` QJsonObject::const_key_value_iterator | constKeyValueBegin() const
`(since 6.10)` QJsonObject::const_key_value_iterator | constKeyValueEnd() const
`(since 6.10)` QJsonObject::key_value_iterator | keyValueBegin()
`(since 6.10)` QJsonObject::const_key_value_iterator | keyValueBegin() const
`(since 6.10)` QJsonObject::key_value_iterator | keyValueEnd()
`(since 6.10)` QJsonObject::const_key_value_iterator | keyValueEnd() const

Class const_iterator:

`(since 6.10)` QAnyStringView | keyView() const

Class iterator:

`(since 6.10)` QAnyStringView | keyView() const

Class QJsonValue:

`(since 6.10)` QAnyStringView | toStringView(QAnyStringView defaultValue = {}) const

Class QLayout:

`(since 6.10)` void | setSizeConstraints(QLayout::SizeConstraint horizontal, QLayout::SizeConstraint vertical)

Class QMediaPlayer:

`(since 6.10)` bool | pitchCompensation() const
`(since 6.10)` QMediaPlayer::PitchCompensationAvailability | pitchCompensationAvailability() const
`(since 6.10)` void | setPitchCompensation(bool enabled) const

Class QMetaObject:

`(since 6.10)` QMetaObject::Connection | connect(const QObject *sender, const QMetaMethod &signal, const QObject *context, Functor functor, Qt::ConnectionType type = Qt::AutoConnection)
`(since 6.10)` QMetaObject::Connection | connect(const QObject *sender, const QMetaMethod &signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection)

Class QMqttClient:

`(since 6.10)` void | connectToHostWebSocket(QWebSocket *webSocket = nullptr)
`(since 6.10)` void | connectToHostWebSocketEncrypted(QWebSocket *webSocket = nullptr)

Class QPainterPath:

`(since 6.10)` bool | isCachingEnabled() const
`(since 6.10)` void | setCachingEnabled(bool enabled)
`(since 6.10)` QPainterPath | trimmed(qreal fromFraction, qreal toFraction, qreal offset = 0) const

Class QQuickGraphicsDevice:

`(since 6.10)` QQuickGraphicsDevice | fromRhiAdapter(QRhiAdapter *adapter)

Class QRhi:

`(since 6.10)` QRhi::AdapterList | enumerateAdapters(QRhi::Implementation impl, QRhiInitParams *params, QRhiNativeHandles *nativeHandles = nullptr)

Class QRhiReadbackDescription:

`(since 6.10)` QRect | rect() const
`(since 6.10)` void | setRect(const QRect &rectangle)

Class QRhiResourceUpdateBatch:

`(since 6.10)` void | updateDynamicBuffer(QRhiBuffer *buf, quint32 offset, QByteArray data)
`(since 6.10)` void | uploadStaticBuffer(QRhiBuffer *buf, QByteArray data)
`(since 6.10)` void | uploadStaticBuffer(QRhiBuffer *buf, quint32 offset, QByteArray data)

Class QSGGeometry:

`(since 6.10)` void | setIndexCount(int count)
`(since 6.10)` void | setVertexCount(int count)

Class QScrollBar:

`(since 6.10)` QMenu * | createStandardContextMenu(QPoint position)

Class QSerialPort:

`(since 6.10)` void | setWriteBufferSize(qint64 size)
`(since 6.10)` qint64 | writeBufferSize() const

Class QSortFilterProxyModel:

`(since 6.10)` void | endFilterChange(QSortFilterProxyModel::Directions directions = Direction::Both)

Class QSslCertificate:

`(since 6.10)` QList<QSslCertificate> | fromFile(const QString &filePath, QSsl::EncodingFormat format = QSsl::Pem)

Class QString:

`(since 6.10)` QString | fromRawData(const char16_t *unicode, qsizetype size)
`(since 6.10)` QString & | nullTerminate()
`(since 6.10)` QString | nullTerminated() &&
`(since 6.10)` QString | nullTerminated() const &

Class QTextStream:

`(since 6.10)` | operator bool() const

Class QUtf8StringView:

`(since 6.10)` | operator std::u8string_view() const

Class QWebEngineProfile:

`(since 6.10)` QList<QSslCertificate> | additionalTrustedCertificates() const
`(since 6.10)` QWebEngineExtensionManager * | extensionManager() const

Class QWebEngineProfileBuilder:

`(since 6.10)` QWebEngineProfileBuilder & | setAdditionalTrustedCertificates(const QList<QSslCertificate> &certificates)

Class QXmlStreamReader:

`(since 6.10)` QString | readRawInnerData()

Class QXmlStreamWriter:

`(since 6.10)` QXmlStreamWriter::Error | error() const
`(since 6.10)` QString | errorString() const
`(since 6.10)` void | raiseError(QAnyStringView message)

### New Functions in Namespaces

`(since 6.10)` bool | qWaitForWindowActive(QWindow *window)
`(since 6.10)` bool | qWaitForWindowActive(QWidget *widget)
`(since 6.10)` bool | qWaitForWindowActive(QWindow *window, QDeadlineTimer timeout)
`(since 6.10)` bool | qWaitForWindowActive(QWidget *widget, QDeadlineTimer timeout)
`(since 6.10)` bool | qWaitForWindowExposed(QWindow *window)
`(since 6.10)` bool | qWaitForWindowExposed(QWidget *widget)
`(since 6.10)` bool | qWaitForWindowExposed(QWindow *window, QDeadlineTimer timeout)
`(since 6.10)` bool | qWaitForWindowExposed(QWidget *widget, QDeadlineTimer timeout)
`(since 6.10)` bool | qWaitForWindowFocused(QWindow *window)
`(since 6.10)` bool | qWaitForWindowFocused(QWidget *widget)

### New Global Functions

`(since 6.10)` std::optional<qint64> | qEnvironmentVariableIntegerValue(const char *varName)
`(since 6.10)` Result | qJoin(InputIterator first, InputIterator last, Result init, const Separator &separator = {}, Projection p = {})

### New Macros

`(since 6.10)` | QTRY_VERIFY_ACTIVE_FOCUS(item)
`(since 6.10)` | QVERIFY_ACTIVE_FOCUS(item)

### New Enum Types

`(since 6.10)` enum class | PitchCompensationAvailability { AlwaysOn, Available, Unavailable }
`(since 6.10)` enum class | LabelVisibility { None, First, Even, Odd }
`(since 6.10)` enum class | PlaybackIntent { Playback, LowLatencyStreaming }
`(since 6.10)` enum class | Direction { Rows, Columns, Both }
`(since 6.10)` enum class | Error { None, IO, Encoding, InvalidCharacter, Custom }
`(since 6.10)` enum class | ContrastPreference { NoPreference, HighContrast }
`(since 6.10)` enum class | SliceCaptureType { NoImage, RowImage, ColumnImage }

### New Enum Values

enum value | Attribute::Locale
enum value | DrawFlag::DrawFilledSurface
enum value | TransportType::SecureWebSocket
enum value | TransportType::WebSocket
enum value | WebAttribute::BackForwardCacheEnabled

### New Type Aliases

`(since 6.10)` | const_key_value_iterator
`(since 6.10)` | key_value_iterator
`(since 6.10)` | const_key_value_iterator
`(since 6.10)` | key_value_iterator
`(since 6.10)` | AdapterList

### New Properties

`(since 6.10)` lightingMode : QAbstract3DSeries::LightingMode `(since 6.10)` textElideMode : Qt::TextElideMode `(since 6.10)` axisX : QAbstractAxis* `(since 6.10)` axisY : QAbstractAxis* `(since 6.10)` zValue : int `(since 6.10)` contrastPreference : Qt::ContrastPreference `(since 6.10)` horizontalSizeConstraint : SizeConstraint `(since 6.10)` verticalSizeConstraint : SizeConstraint `(since 6.10)` supportedDragActions : Qt::DropActions `(since 6.10)` pitchCompensation : bool `(since 6.10)` pitchCompensationAvailability : const PitchCompensationAvailability `(since 6.10)` playbackOptions : QPlaybackOptions | `(since 6.10)` angleSpanLabelVisibility : LabelVisibility `(since 6.10)` angleSpanVisibleLimit : qreal `(since 6.10)` networkTimeout : std::chrono::milliseconds `(since 6.10)` playbackIntent : PlaybackIntent `(since 6.10)` probeSize : qsizetype `(since 6.10)` extensionManager : QWebEngineExtensionManager* const `(since 6.10)` accessibility : const QAccessibilityHints* `(since 6.10)` menuSelectionWraps : const bool `(since 6.10)` supportedDragActions : Qt::DropActions `(since 6.10)` supportedDragActions : Qt::DropActions `(since 6.10)` stopWritingOnError : bool

### New Variables

`(since 6.10)` const QOperatingSystemVersionBase | MacOSTahoe
`(since 6.10)` const struct QtGrpc::MultiValue_t | MultiValue

### New QML Types

C
  CapsuleGeometry
  ColorOpacityAnimation

F
  Filter
  FlexboxLayout
  FunctionFilter
  FunctionSorter

H
  HorizontalHeaderViewDelegate

L
  LayerItem

P
  PlaybackOptions

R
  RoleFilter
  RoleSorter

S
  SearchField
  Sorter
  SortFilterProxyModel
  StringSorter
  Synchronizer

T
  TransformGroup
  TreeModel

V
  ValueFilter
  VerticalHeaderViewDelegate

### New QML Properties

QML Type Abstract3DSeries:

`(since 6.10)` | lightingMode : Abstract3DSeries.LightingMode

QML Type AbstractAxis:

`(since 6.10)` | textElideMode : enumeration

QML Type AbstractSeries:

`(since 6.10)` | axisX : AbstractAxis
`(since 6.10)` | axisY : AbstractAxis
`(since 6.10)` | zValue : int

QML Type Accessible:

`(since 6.10)` | labelFor : Item
`(since 6.10)` | labelledBy : Item

QML Type DelegateModel:

`(since 6.10)` | delegateModelAccess : enumeration

QML Type Dialog:

`(since 6.10)` | popupType : enumeration

QML Type GraphsView:

`(since 6.10)` | clipPlotArea : bool

QML Type GridView:

`(since 6.10)` | delegateModelAccess : enumeration

QML Type ImageCapture:

`(since 6.10)` | supportedFormats : list<FileFormat>

QML Type Instantiator:

`(since 6.10)` | delegateModelAccess : enumeration

QML Type Lightmapper:

`(since 6.10)` | denoiseSigma : real
`(since 6.10)` | source : url
`(since 6.10)` | texelsPerUnit : real

QML Type ListView:

`(since 6.10)` | delegateModelAccess : enumeration

QML Type MapItemView:

`(since 6.10)` | delegateModelAccess : enumeration

QML Type MediaPlayer:

`(since 6.10)` | pitchCompensation : bool
`(since 6.10)` | pitchCompensationAvailability : enumeration
`(since 6.10)` | playbackOptions : PlaybackOptions

QML Type Model:

`(since 6.10)` | texelsPerUnit : real

QML Type ParticleEmitter3D:

`(since 6.10)` | EmitMode : enumeration
`(since 6.10)` | emitMode : EmitMode
`(since 6.10)` | reversed : bool

QML Type PathRectangle:

`(since 6.10)` | bevel : bool

QML Type PieSeries:

`(since 6.10)` | angleSpanLabelVisibility : enumeration
`(since 6.10)` | angleSpanVisibleLimit : real

QML Type PlaybackOptions:

`(since 6.10)` | networkTimeoutMs : qint64
`(since 6.10)` | playbackIntent : enumeration
`(since 6.10)` | probeSize : qsizetype

QML Type Repeater:

`(since 6.10)` | delegateModelAccess : enumeration

QML Type Repeater3D:

`(since 6.10)` | delegateModelAccess : enumeration

QML Type ShapePath:

`(since 6.10)` | trim
`(since 6.10)` | trim.end : real
`(since 6.10)` | trim.offset : real
`(since 6.10)` | trim.start : real

QML Type TableView:

`(since 6.10)` | delegateModelAccess : enumeration

QML Type VectorImage:

`(since 6.10)` | animations
`(since 6.10)` | animations.loops : int
`(since 6.10)` | animations.paused : bool
`(since 6.10)` | assumeTrustedSource : bool

QML Type XrInputAction:

`(since 6.10)` | controller : enumeration

### New QML Signals

`(since 6.10)` | angleSpanLabelVisibilityChanged(LabelVisibility visibility)
`(since 6.10)` | angleSpanVisibleLimitChanged(real limit)
`(since 6.10)` | axisXChanged(AbstractAxis newAxis)
`(since 6.10)` | axisYChanged(AbstractAxis newAxis)
`(since 6.10)` | lightingModeChanged(Abstract3DSeries.LightingMode lightingMode)
`(since 6.10)` | pong(quint64 elapsedTime, ArrayBuffer payload)
`(since 6.10)` | zValueChanged(int newDrawOrder)

### New QML Methods

QML Type Bars3D:

`(since 6.10)` void | renderSliceToImage(int requestedIndex, QtGraphs3D::SliceCaptureType sliceType, QUrl filePath)

QML Type Locale:

`(since 6.10)` string | createSeparatedList(list<string> list)

QML Type Surface3D:

`(since 6.10)` void | renderSliceToImage(int index, int requestedIndex, QtGraphs3D::SliceCaptureType sliceType, QUrl filePath)

QML Type WebSocket:

`(since 6.10)` void | ping()
`(since 6.10)` void | ping(ArrayBuffer payload)