New Classes and Functions in Qt 5.12 | Qt 5.15

- Qt 5.15
- New Classes and Functions in Qt 5.12
- Qt 5.15.2 Reference Documentation

# New Classes and Functions in Qt 5.12

This page contains a comprehensive list of all new classes and functions introduced in Qt 5.12. Links to new APIs in previous Qt 5 releases are found at the bottom of this page.

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

### New Namespaces

namespace | QMqtt

### New Classes

B
  Builder (QKnxNetIpTunnelingInfoDibProxy)

C
  ConstIterator (QCborMap)
  ConstIterator (QCborArray)
  QCborArray
  QCborError
  QCborMap
  QCborParserError
  QCborStreamReader
  QCborStreamWriter
  QCborValue

D
  QDtls
  QDtlsClientVerifier

E
  ExtendedBuilder (QKnxNetIpSearchResponseProxy)
  ExtendedBuilder (QKnxNetIpSearchRequestProxy)

G
  GeneratorParameters (QDtlsClientVerifier)
  QGeoRouteLeg

I
  Iterator (QCborMap)
  Iterator (QCborArray)

K
  QKnxCloudCover
  QKnxCryptographicEngine
  QKnxNetIpExtendedDeviceDibProxy
  QKnxNetIpRouter
  QKnxNetIpRoutingSystemBroadcastProxy
  QKnxNetIpSecuredServiceFamiliesDibProxy
  QKnxNetIpSecureWrapperProxy
  QKnxNetIpSessionAuthenticateProxy
  QKnxNetIpSessionRequestProxy
  QKnxNetIpSessionResponseProxy
  QKnxNetIpSessionStatusProxy
  QKnxNetIpSrp
  QKnxNetIpSrpProxy
  QKnxNetIpTimerNotifyProxy
  QKnxNetIpTunnelingFeatureGetProxy
  QKnxNetIpTunnelingFeatureInfoProxy
  QKnxNetIpTunnelingFeatureResponseProxy
  QKnxNetIpTunnelingFeatureSetProxy
  QKnxNetIpTunnelingInfoDibProxy
  QKnxNetIpTunnelingSlotInfo
  QKnxSecuredServiceInfo

M
  MacAddress (QKnxNetIpSrpProxy)
  QMqttAuthenticationProperties
  QMqttConnectionProperties
  QMqttLastWillProperties
  QMqttMessageStatusProperties
  QMqttPublishProperties
  QMqttServerConnectionProperties
  QMqttStringPair
  QMqttSubscriptionProperties
  QMqttUnsubscriptionProperties
  QMqttUserProperties

P
  ProgrammingMode (QKnxNetIpSrpProxy)

R
  RequestDibs (QKnxNetIpSrpProxy)

S
  QScopeGuard
  SupportedFamily (QKnxNetIpSrpProxy)

W
  QWaylandXdgDecorationManagerV1
  QWaylandXdgPopup
  QWaylandXdgShell
  QWaylandXdgSurface
  QWaylandXdgToplevel
  QWebEngineUrlScheme

### New Member Functions

Class QBluetoothDeviceInfo:

QByteArray | manufacturerData(quint16 manufacturerId) const
QHash<quint16, QByteArray> | manufacturerData() const
QVector<quint16> | manufacturerIds() const
bool | setManufacturerData(quint16 manufacturerId, const QByteArray &data)

Class QByteArray:

int | compare(const char *c, Qt::CaseSensitivity cs) const
int | compare(const QByteArray &a, Qt::CaseSensitivity cs) const
bool | isLower() const
bool | isUpper() const

Class QCryptographicHash:

int | hashLength(QCryptographicHash::Algorithm method)

Class QExplicitlySharedDataPointer:

T * | take()

Class QMetaEnum:

const char * | enumName() const

Class QMetaEnumBuilder:

QByteArray | enumName() const
void | setEnumName(const QByteArray &alias)

Class QRegularExpression:

QString | anchoredPattern(const QString &expression)
QString | wildcardToRegularExpression(const QString &pattern)

Class QSortFilterProxyModel:

void | setFilterRegularExpression(const QString &pattern)

Class QString:

int | compare(QStringView s, Qt::CaseSensitivity cs) const
bool | isLower() const
bool | isUpper() const

Class QStringList:

bool | contains(QStringView str, Qt::CaseSensitivity cs) const

Class QStringView:

int | compare(QStringView str, Qt::CaseSensitivity cs) const

Class QTextStream:

QTextStream & | operator<<(QStringView string)

Class QTimer:

QMetaObject::Connection | callOnTimeout(Functor slot, Qt::ConnectionType connectionType)
QMetaObject::Connection | callOnTimeout(const QObject *context, Functor slot, Qt::ConnectionType connectionType)
QMetaObject::Connection | callOnTimeout(const QObject *receiver, MemberFunction *slot, Qt::ConnectionType connectionType)

Class QWaitCondition:

bool | wait(QMutex *lockedMutex, QDeadlineTimer deadline)
bool | wait(QReadWriteLock *lockedReadWriteLock, QDeadlineTimer deadline)

Class QDBusMessage:

bool | isInteractiveAuthorizationAllowed() const
void | setInteractiveAuthorizationAllowed(bool enable)

Class QBitmap:

QBitmap | fromImage(QImage &&image, Qt::ImageConversionFlags flags)

Class QIcon:

QString | fallbackThemeName()
void | setFallbackThemeName(const QString &name)

Class QImageReader:

QList<QByteArray> | imageFormatsForMimeType(const QByteArray &mimeType)

Class QImageWriter:

QList<QByteArray> | imageFormatsForMimeType(const QByteArray &mimeType)

Class QPainter:

void | fillRect(int x, int y, int width, int height, QGradient::Preset preset)
void | fillRect(const QRect &rectangle, QGradient::Preset preset)
void | fillRect(const QRectF &rectangle, QGradient::Preset preset)

Class QPalette:

const QBrush & | placeholderText() const

Class QStandardItem:

void | clearData()

Class QStandardItemModel:

bool | clearItemData(const QModelIndex &index)

Class QTextBlockFormat:

int | headingLevel() const
void | setHeadingLevel(int level)

Class QTextImageFormat:

int | quality() const
void | setQuality(int quality)

Class QKnxAdditionalInfo:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxAddress:

quint8 | mainOrAreaSection() const
quint8 | middleOrLineSection() const
QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)
quint16 | subOrDeviceSection(QKnxAddress::Notation notation) const

Class QKnxByteArray:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxControlField:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxDatapointType:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxDeviceManagementFrame:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxExtendedControlField:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxGroupAddressInfo:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxGroupAddressInfos:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxLinkLayerFrame:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxNetIpConnectionHeader:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxNetIpCriProxy:

QKnxAddress | individualAddress() const
bool | isExtended() const

Class Builder:

Builder & | setIndividualAddress(const QKnxAddress &address)

Class QKnxNetIpEndpointConnection:

void | connectToHost(const QHostAddress &address, quint16 port, QKnxNetIp::HostProtocol protocol)

Class QKnxNetIpFrameHeader:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxNetIpFrame:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxNetIpRoutingIndicationProxy:

QKnxLinkLayerFrame | cemi() const

Class Builder:

Builder & | setCemi(const QKnxLinkLayerFrame &cemi)

Class QKnxNetIpSearchRequestProxy:

QKnxNetIpSearchRequestProxy::ExtendedBuilder | extendedBuilder()
QVector<QKnxNetIpSrp> | extendedSearchParameters() const
bool | isExtended() const

Class QKnxNetIpSearchResponseProxy:

QKnxNetIpSearchResponseProxy::ExtendedBuilder | extendedBuilder()
bool | isExtended() const
QVector<QKnxNetIpDib> | optionalDibs() const
QVector<QKnxNetIpDib> | variableDibs() const

Class QKnxNetIpServerDiscoveryAgent:

QKnxNetIpServerDiscoveryAgent::DiscoveryModes | discoveryMode() const
QVector<QKnxNetIpSrp> | extendedSearchParameters() const
void | setDiscoveryMode(QKnxNetIpServerDiscoveryAgent::DiscoveryModes mode)
void | setExtendedSearchParameters(const QVector<QKnxNetIpSrp> &srps)

Class QKnxNetIpServerInfo:

QKnxNetIpDib | extendedHardware() const
quint16 | maskVersion() const
quint16 | maximumLocalApduLength() const
QKnx::MediumStatus | mediumStatus() const
QKnxNetIpDib | tunnelingInfo() const
QVector<QKnxNetIpTunnelingSlotInfo> | tunnelingSlotInfos() const

Class QKnxNetIpStruct:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QKnxNetIpStructHeader:

typename std::enable_if<is_type<T, QKnxNetIp::SearchParameterType>::value, bool>::type | isMandatory() const
QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)
typename std::enable_if<is_type<T, QKnxNetIp::SearchParameterType>::value, void>::type | setMandatory(bool value)

Class QKnxNetIpTunnel:

bool | sendTunnelingFeatureGet(QKnx::InterfaceFeature feature)
bool | sendTunnelingFeatureSet(QKnx::InterfaceFeature feature, const QKnxByteArray &value)
void | tunnelingFeatureInfoReceived(QKnx::InterfaceFeature feature, QKnxByteArray value)
void | tunnelingFeatureResponseReceived(QKnx::InterfaceFeature feature, QKnx::ReturnCode code, QKnxByteArray value)

Class QKnxTpdu:

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)

Class QGeoRoute:

QList<QGeoRouteLeg> | routeLegs() const
void | setRouteLegs(const QList<QGeoRouteLeg> &legs)

Class QGeoRouteSegment:

bool | isLegLastSegment() const

Class QGeoServiceProviderFactoryV3:

virtual void | setQmlEngine(QQmlEngine *engine)

Class QMqttClient:

void | authenticate(const QMqttAuthenticationProperties &prop)
void | authenticationFinished(const QMqttAuthenticationProperties &p)
void | authenticationRequested(const QMqttAuthenticationProperties &p)
QMqttConnectionProperties | connectionProperties() const
QMqttLastWillProperties | lastWillProperties() const
void | messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties)
qint32 | publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties, const QByteArray &message, quint8 qos, bool retain)
QMqttServerConnectionProperties | serverConnectionProperties() const
void | setConnectionProperties(const QMqttConnectionProperties &prop)
void | setLastWillProperties(const QMqttLastWillProperties &prop)
QMqttSubscription * | subscribe(const QMqttTopicFilter &topic, const QMqttSubscriptionProperties &properties, quint8 qos)
void | unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties)

Class QMqttMessage:

QMqttPublishProperties | publishProperties() const

Class QMqttSubscription:

QMqttUserProperties | userProperties() const

Class QMqttTopicFilter:

QString | sharedSubscriptionName() const

Class QSslCertificate:

QString | issuerDisplayName() const
QString | subjectDisplayName() const

Class QNearFieldManager:

void | adapterStateChanged(QNearFieldManager::AdapterState state)
bool | isSupported() const

Class QNearFieldTarget:

void | reportError(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)

Class QGeoPath:

void | clearPath()

Class QGeoPolygon:

void | addHole(const QVariant &holePath)
void | addHole(const QList<QGeoCoordinate> &holePath)
const QVariantList | hole(int index) const
const QList<QGeoCoordinate> | holePath(int index) const
int | holesCount() const
void | removeHole(int index)

Class QJSEngine:

QJSValue | importModule(const QString &fileName)
QJSValue | newErrorObject(QJSValue::ErrorType errorType, const QString &message)

Class QJSValue:

QJSValue::ErrorType | errorType() const

Class QQmlComponent:

QQmlEngine * | engine() const

Class QQmlEngine:

int | qmlTypeId(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
T | singletonInstance(int qmlTypeId)

Class QQuickStyle:

void | addStylePath(const QString &path)
QStringList | stylePathList()

Class QRemoteObjectHostBase:

void | addHostSideConnection(QIODevice *ioDevice)

Class QRemoteObjectNode:

void | addClientSideConnection(QIODevice *ioDevice)
void | registerExternalSchema(const QString &schema, QRemoteObjectNode::RemoteObjectSchemaHandler handler)

Class QCanBusDevice:

void | clear(QCanBusDevice::Directions direction)
QVector<QCanBusFrame> | readAllFrames()

Class QWaylandCompositor:

void | addSocketDescriptor(int fd)

Class QWaylandSeat:

void | sendKeyEvent(int qtKey, bool pressed)

Class QWebSocket:

qint64 | bytesToWrite() const

Class QWebSocketServer:

qintptr | nativeDescriptor() const
bool | setNativeDescriptor(qintptr socketDescriptor)

Class QDoubleSpinBox:

void | setStepType(QAbstractSpinBox::StepType stepType)

Class QLayout:

int | indexOf(QLayoutItem *layoutItem) const

Class QLineEdit:

void | inputRejected()

Class QSpinBox:

void | setStepType(QAbstractSpinBox::StepType stepType)

### New Functions in Namespaces

QByteArray | deriveKeyPbkdf1(QCryptographicHash::Algorithm algorithm, const QByteArray &data, const QByteArray &salt, int iterations, quint64 dkLen)
QByteArray | deriveKeyPbkdf2(QCryptographicHash::Algorithm algorithm, const QByteArray &data, const QByteArray &salt, int iterations, quint64 dkLen)
QImage | imageFromHBITMAP(HBITMAP bitmap, QtWin::HBitmapFormat format)
HBITMAP | imageToHBITMAP(const QImage &image, QtWin::HBitmapFormat format)
bool | isInterfaceFeature(QKnx::InterfaceFeature feature)
bool | isStructType(QKnx::NetIp::SearchParameterType type)
char * | toString(const QCborError &c)
char * | toString(const std::tuple<Types...> &tuple)

### New Global Functions

QDebug | operator<<(QDebug debug, const QKnxNetIpStruct<QKnxNetIp::SearchParameterType> &srp)
void | qFromBigEndian(const void *src, qsizetype count, void *dest)
void | qFromLittleEndian(const void *src, qsizetype count, void *dest)
void | qToBigEndian(const void *src, qsizetype count, void *dest)
void | qToBigEndian(const void *src, qsizetype count, void *dest)
void | qToLittleEndian(const void *src, qsizetype count, void *dest)
void | qToLittleEndian(const void *src, qsizetype count, void *dest)
int | qmlTypeId(const char *uri, int versionMajor, int versionMinor, const char *qmlName)

### New Macros

| QT_TRANSLATE_N_NOOP(context, sourceText)
| QT_TRANSLATE_N_NOOP(context, sourceText)
| QT_TRANSLATE_N_NOOP3(context, sourceText, comment)
| QT_TRANSLATE_N_NOOP3(context, sourceText, comment)
| QT_TR_N_NOOP(sourceText)
| QT_TR_N_NOOP(sourceText)

### New Enum Types

enum class | SearchParameterType { Unknown, Invalid, SelectByProgrammingMode, SelectByMACAddress, SelectByService, …, Reserved03 }
enum class | SecureSessionStatus { AuthenticationSuccess, AuthenticationFailed, Unauthenticated, Timeout, KeepAlive, …, Unknown }
enum class | Field { None, RSSI, ManufacturerData, All }
enum | Direction { Input, Output, AllDirections }
enum | HandshakeState { HandshakeNotStarted, HandshakeInProgress, PeerVerificationFailed, HandshakeComplete }
enum class | QDtlsError { NoError, InvalidInputParameters, InvalidOperation, UnderlyingSocketError, RemoteClosedConnectionError, …, TlsNonFatalError }
enum class | QDtlsError { NoError, InvalidInputParameters, InvalidOperation, UnderlyingSocketError, RemoteClosedConnectionError, …, TlsNonFatalError }
enum | Preset { WarmFlame, NightFade, SpringWarmth, JuicyPeach, YoungPassion, …, NumPresets }
enum | ErrorType { NoError, GenericError, EvalError, RangeError, ReferenceError, …, URIError }
enum class | EmiType { Unknown, EMI1, EMI2, cEMI }
enum class | InterfaceFeature { Unknown, SupportedEmiType, HostDeviceDescriptorType0, BusConnectionStatus, KnxManufacturerCode, …, InterfaceFeatureInfoServiceEnable }
enum class | MediumStatus { Unknown, CommunicationPossible, CommunicationImpossible }
enum class | ReturnCode { Success, SuccessWithCrc, MemoryError, CommandInvalid, CommandImpossible, …, Error }
enum | DiscoveryMode { CoreV1, CoreV2 }
enum class | MessageStatus { Unknown, Published, Acknowledged, Received, Released, Completed }
enum class | PayloadFormatIndicator { Unspecified, UTF8Encoded }
enum class | ReasonCode { Success, SubscriptionQoSLevel0, SubscriptionQoSLevel1, SubscriptionQoSLevel2, NoMatchingSubscriber, …, WildCardSubscriptionsNotSupported }
enum class | AdapterState { Offline, TurningOn, Online, TurningOff }

### New Type Aliases

typedef | RemoteObjectSchemaHandler

### New Properties

- focusOnTouch : const
- itemAlignment : const
- reason : const
- reasonCode : const
- sharedSubscription : const
- sharedSubscriptionName : const
- filterRegularExpression : const
- canRedo : const

- canUndo : const
- clean : const
- redoText : const
- undoText : const
- tickAnchor : const
- tickInterval : const
- tickType : const

### New QML Types

T
  TableView

W
  WavefrontMesh

X
  XdgDecorationManagerV1
  XdgPopup
  XdgShell
  XdgSurface
  XdgToplevel

### New QML Properties

| defaultLogLevel
| orientation
| sortCaseSensitive
| synchronousDrag
| visibleArea

### New QML Signals

| finished()
| finished()

### New QML Methods

| action()
| addSocketDescriptor()
| coordToMercator()
| equals()
| mercatorToCoord()
| polygon()
| sendKeyEvent()

## Additions to Other Qt 5 Releases

- What's New in Qt 5.11
- What's New in Qt 5.10
- What's New in Qt 5.9
- What's New in Qt 5.8
- What's New in Qt 5.7
- What's New in Qt 5.6
- What's New in Qt 5.5
- What's New in Qt 5.4
- What's New in Qt 5.3
- What's New in Qt 5.2
- What's New in Qt 5.1
- What's New in Qt 5.0