- Qt 5.15
- New Classes and Functions in Qt 5.8
- Qt 5.15.12 Reference Documentation

# New Classes and Functions in Qt 5.8

This page contains a comprehensive list of all new classes and functions introduced in Qt 5.8. 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 | QScxmlExecutableContent

### New Classes

A
  AssignmentInfo (QScxmlExecutableContent)
  QAbstractOAuth
  QAbstractOAuth2
  QAbstractOAuthReplyHandler
  QAbstractPhysicalDeviceProxy (Qt3DInput)
  QAxisAccumulator (Qt3DInput)

C
  QCanBus
  QCanBusDevice
  QCanBusFactory
  QCanBusFrame
  QCandlestickLegendMarker
  QCandlestickModelMapper
  QCandlestickSeries
  QCandlestickSet

D
  QDeadlineTimer

E
  EvaluatorInfo (QScxmlExecutableContent)

F
  Filter (QCanBusDevice)
  ForeachInfo (QScxmlExecutableContent)
  ForeachLoopBody (QScxmlDataModel)

H
  QHCandlestickModelMapper

I
  InvokeInfo (QScxmlExecutableContent)

L
  Loader (QScxmlCompiler)

M
  QModbusClient
  QModbusDataUnit
  QModbusDevice
  QModbusDeviceIdentification
  QModbusExceptionResponse
  QModbusPdu
  QModbusReply
  QModbusRequest
  QModbusResponse
  QModbusRtuSerialMaster
  QModbusRtuSerialSlave
  QModbusServer
  QModbusTcpClient
  QModbusTcpServer

N
  QNetworkDatagram

O
  QOAuth1
  QOAuth1Signature
  QOAuth2AuthorizationCodeFlow
  QOpenGLTextureBlitter

P
  ParameterInfo (QScxmlExecutableContent)
  QPaintedTextureImage (Qt3DRender)
  QPointingDeviceUniqueId

R
  QRenderCapture (Qt3DRender)
  QRenderCaptureReply (Qt3DRender)

S
  QSctpServer
  QSctpSocket
  QScxmlDynamicScxmlServiceFactory
  QScxmlInvokableService
  QScxmlInvokableServiceFactory
  QScxmlStaticScxmlServiceFactory
  QScxmlTableData
  QSGImageNode
  QSGRectangleNode
  QSGRendererInterface
  QSGRenderNode
  QSslDiffieHellmanParameters

T
  TakeRowResult (QFormLayout)
  TimeStamp (QCanBusFrame)

V
  QVCandlestickModelMapper

### New Member Functions

Class QQuickWindow:

QSGImageNode * | createImageNode() const
QSGNinePatchNode * | createNinePatchNode() const
QSGRectangleNode * | createRectangleNode() const
QSGRendererInterface * | rendererInterface() const
void | setSceneGraphBackend(QSGRendererInterface::GraphicsApi api)
void | setSceneGraphBackend(const QString &backend)

Class QSGEngine:

QSGImageNode * | createImageNode() const
QSGNinePatchNode * | createNinePatchNode() const
QSGRectangleNode * | createRectangleNode() const
QSGRendererInterface * | rendererInterface() const

Class QQuickStyle:

void | setFallbackStyle(const QString &style)

Class QSerialPort:

void | errorOccurred(QSerialPort::SerialPortError error)

Class QWebSocket:

void | preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator)

Class QWebSocketServer:

void | preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator)

Class QFormLayout:

void | removeRow(int row)
void | removeRow(QWidget *widget)
void | removeRow(QLayout *layout)
TakeRowResult | takeRow(int row)
TakeRowResult | takeRow(QWidget *widget)
TakeRowResult | takeRow(QLayout *layout)

Class QMainWindow:

void | tabifiedDockWidgetActivated(QDockWidget *dockWidget)

Class QUndoStack:

void | resetClean()

Class QBluetoothDeviceDiscoveryAgent:

int | lowEnergyDiscoveryTimeout() const
void | setLowEnergyDiscoveryTimeout(int timeout)
void | start(DiscoveryMethods methods)
DiscoveryMethods | supportedDiscoveryMethods()

Class QLowEnergyController:

QBluetoothUuid | remoteDeviceUuid() const

Class FromBase64Result:

bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator!=(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator==(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QWeakPointer<T> &rhs)
uint | qHash(const QHash<Key, T> &key, uint seed)
uint | qHash(const QMultiHash<Key, T> &key, uint seed)

Class QChar:

bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator!=(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator==(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QWeakPointer<T> &rhs)

Class QCommandLineOption:

Flags | flags() const
void | setFlags(Flags flags)

Class QDateTime:

qint64 | currentSecsSinceEpoch()
QDateTime | fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spec, int offsetSeconds)
QDateTime | fromSecsSinceEpoch(qint64 secs, const QTimeZone &timeZone)
void | setSecsSinceEpoch(qint64 secs)
qint64 | toSecsSinceEpoch() const

Class QHash:

uint | qHash(const QMultiHash<Key, T> &key, uint seed)

Class QKeyValueIterator:

bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator!=(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator==(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QWeakPointer<T> &rhs)

Class QLatin1String:

QLatin1Char | at(int pos) const
QLatin1String | left(int length) const
QLatin1String | mid(int start) const
QLatin1String | mid(int start, int length) const
QLatin1Char | operator[](int pos) const
QLatin1String | right(int length) const

Class QLibraryInfo:

QVersionNumber | version()

Class QLine:

QPoint | center() const

Class QLineF:

QPointF | center() const

Class QList:

uint | qHash(const QHash<Key, T> &key, uint seed)
uint | qHash(const QMultiHash<Key, T> &key, uint seed)

Class QMetaEnum:

bool | isScoped() const

Class QMetaType:

bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QWeakPointer<T> &rhs)

Class QMultiHash:

uint | qHash(const QMultiHash<Key, T> &key, uint seed)

Class QMutex:

bool | try_lock()
bool | try_lock_for(std::chrono::duration<Rep, Period> duration)
bool | try_lock_until(std::chrono::time_point<Clock, Duration> timePoint)

Class QPair:

bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator!=(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator==(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QWeakPointer<T> &rhs)

Class QPoint:

CGPoint | toCGPoint() const

Class QPointF:

QPointF | fromCGPoint(CGPoint point)
CGPoint | toCGPoint() const

Class QRect:

CGRect | toCGRect() const

Class QRectF:

QRectF | fromCGRect(CGRect rect)
CGRect | toCGRect() const

Class QRegExp:

uint | qHash(const QHash<Key, T> &key, uint seed)
uint | qHash(const QMultiHash<Key, T> &key, uint seed)

Class QResource:

QDateTime | lastModified() const

Class QScopedPointer:

bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator!=(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, int)
bool | operator==(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QWeakPointer<T> &rhs)

Class QSharedPointer:

bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QWeakPointer<T> &rhs)

Class QSize:

CGSize | toCGSize() const

Class QSizeF:

QSizeF | fromCGSize(CGSize size)
CGSize | toCGSize() const

Class QStringList:

QString | join(QLatin1String separator) const

Class QStringRef:

void | chop(int n)
int | compare(const QByteArray &other, Qt::CaseSensitivity cs) const

Class QStringView:

uint | qHash(const QHash<Key, T> &key, uint seed)
uint | qHash(const QMultiHash<Key, T> &key, uint seed)

Class QTimer:

std::chrono::milliseconds | intervalAsDuration() const
std::chrono::milliseconds | remainingTimeAsDuration() const
void | singleShot(std::chrono::milliseconds msec, const QObject *receiver, const char *member)
void | singleShot(std::chrono::milliseconds msec, Qt::TimerType timerType, const QObject *receiver, const char *member)
void | start(std::chrono::milliseconds msec)

Class QVarLengthArray:

bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QWeakPointer<T> &rhs)
uint | qHash(const QHash<Key, T> &key, uint seed)
uint | qHash(const QMultiHash<Key, T> &key, uint seed)

Class QVector:

uint | qHash(const QHash<Key, T> &key, uint seed)
uint | qHash(const QMultiHash<Key, T> &key, uint seed)

Class QWaitCondition:

void | notify_all()
void | notify_one()

Class QWeakPointer:

bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QWeakPointer<T> &rhs)

Class QAbstractTextDocumentLayout:

QTextFormat | formatAt(const QPointF &pos) const
QString | imageAt(const QPointF &pos) const

Class QColor:

bool | isValidColor(QLatin1String name)
void | setNamedColor(QLatin1String name)

Class QFont:

uint | qHash(const QRawFont &font, uint seed)

Class QFontMetrics:

int | capHeight() const

Class QFontMetricsF:

qreal | capHeight() const

Class QMatrix:

uint | qHash(const QRawFont &font, uint seed)

Class QOpenGLContext:

QFunctionPointer | getProcAddress(const char *procName) const

Class QPlatformTheme:

virtual QIcon | fileIcon(const QFileInfo &fileInfo, QPlatformTheme::IconOptions iconOptions) const

Class QPointingDeviceUniqueId:

bool | operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs)
bool | operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs)
uint | qHash(QPointingDeviceUniqueId key, uint seed)
uint | qHash(const QRawFont &font, uint seed)

Class QRawFont:

qreal | capHeight() const
uint | qHash(const QRawFont &font, uint seed)

Class QRegion:

const_iterator | begin() const
const_iterator | cbegin() const
const_iterator | cend() const
const_reverse_iterator | crbegin() const
const_reverse_iterator | crend() const
const_iterator | end() const
const_reverse_iterator | rbegin() const
const_reverse_iterator | rend() const

Class QRhiVertexInputBinding:

bool | operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs)
uint | qHash(const QRawFont &font, uint seed)

Class UniformBlock:

bool | operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs)

Class QShaderKey:

uint | qHash(QPointingDeviceUniqueId key, uint seed)
uint | qHash(const QRawFont &font, uint seed)

Class TouchPoint:

qreal | rotation() const
QPointingDeviceUniqueId | uniqueId() const

Class QTransform:

uint | qHash(const QRawFont &font, uint seed)

Class QVector2D:

bool | operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs)
bool | operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs)

Class QHostAddress:

bool | isEqual(const QHostAddress &other, ConversionMode mode) const
QDebug | operator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam)
QHostAddress & | operator=(SpecialAddress address)
void | setAddress(SpecialAddress address)

Class QNetworkAccessManager:

QNetworkReply * | sendCustomRequest(const QNetworkRequest &request, const QByteArray &verb, const QByteArray &data)
QNetworkReply * | sendCustomRequest(const QNetworkRequest &request, const QByteArray &verb, QHttpMultiPart *multiPart)

Class QNetworkCacheMetaData:

QDebug | operator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam)

Class QNetworkProxyFactory:

bool | usesSystemConfiguration()

Class QOcspResponse:

bool | operator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs)

Class QSslConfiguration:

QSslDiffieHellmanParameters | diffieHellmanParameters() const
QByteArray | preSharedKeyIdentityHint() const
void | setDiffieHellmanParameters(const QSslDiffieHellmanParameters &dhparams)
void | setPreSharedKeyIdentityHint(const QByteArray &hint)

Class QSslDiffieHellmanParameters:

QDebug | operator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam)
bool | operator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs)
uint | qHash(const QSslDiffieHellmanParameters &dhparam, uint seed)

Class QSslPreSharedKeyAuthenticator:

bool | operator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs)

Class QUdpSocket:

QNetworkDatagram | receiveDatagram(qint64 maxSize)
qint64 | writeDatagram(const QNetworkDatagram &datagram)

Class QJSEngine:

QJSValue | newQMetaObject(const QMetaObject *metaObject)
QJSValue | newQMetaObject()

Class QJSValue:

bool | isQMetaObject() const
const QMetaObject * | toQMetaObject() const

Class QQmlEngine:

void | exit(int retCode)
int | qmlRegisterUncreatableMetaObject(const QMetaObject &staticMetaObject, const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString &reason)

### New Functions in Namespaces

qreal | convertVolume(qreal volume, VolumeScale from, VolumeScale to)
QTouchDevice * | createTouchDevice(QTouchDevice::DeviceType devType)
char * | toString(int)

### New Global Functions

bool | operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs)
bool | operator!=(int, const QWeakPointer<T> &rhs)
bool | operator!=(const QWeakPointer<T> &lhs, int)
bool | operator!=(int, const QSharedPointer<T> &rhs)
bool | operator!=(const QSharedPointer<T> &lhs, int)
bool | operator!=(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, int)
QDebug | operator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam)
bool | operator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs)
bool | operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs)
bool | operator==(int, const QWeakPointer<T> &rhs)
bool | operator==(const QWeakPointer<T> &lhs, int)
bool | operator==(int, const QSharedPointer<T> &rhs)
bool | operator==(const QSharedPointer<T> &lhs, int)
bool | operator==(int, const QScopedPointer<T, Cleanup> &rhs)
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, int)
uint | qHash(const QSslDiffieHellmanParameters &dhparam, uint seed)
uint | qHash(const QRawFont &font, uint seed)
uint | qHash(QPointingDeviceUniqueId key, uint seed)
uint | qHash(const QMultiHash<Key, T> &key, uint seed)
uint | qHash(const QHash<Key, T> &key, uint seed)
int | qmlRegisterUncreatableMetaObject(const QMetaObject &staticMetaObject, const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString &reason)

### New Macros

| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
| Q_ENUM_NS(...)
| Q_ENUM_NS(...)
void | Q_FALLTHROUGH
void | Q_FALLTHROUGH
| Q_FLAG_NS(...)
| Q_FLAG_NS(...)
| Q_NAMESPACE
| Q_NAMESPACE

### New Enum Types

enum | VolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale }
enum | DiscoveryMethod { NoMethod, ClassicMethod, LowEnergyMethod }
enum | ConversionModeFlag { ConvertV4MappedToIPv4, ConvertV4CompatToIPv4, ConvertUnspecifiedAddress, ConvertLocalHost, TolerantConversion, StrictConversion }
enum | LegendMarkerType { LegendMarkerTypeArea, LegendMarkerTypeBar, LegendMarkerTypePie, LegendMarkerTypeXY, LegendMarkerTypeBoxPlot, LegendMarkerTypeCandlestick }

### New Type Aliases

typedef | QModbusDataUnitMap
typedef | QModbusDataUnitMap
typedef | const_iterator
typedef | const_reverse_iterator
typedef | ContainerId
typedef | EvaluatorId
typedef | InstructionId
typedef | StringId

### New Properties

- useHoverEffects : const

### New QML Types

A
  AxisAccumulator

B
  BorderImageMesh

C
  ColorDialog

D
  Dialog
  DialogButtonBox

F
  FileDialog
  FolderDialog
  FontDialog

L
  LoggingCategory

M
  Menu
  MenuBar
  MenuItem
  MenuItemGroup
  MenuSeparator
  MessageDialog

R
  RenderCapture
  RenderCaptureReply
  RoundButton

S
  StandardPaths
  SystemTrayIcon

T
  ToolSeparator

### New QML Properties

| delayed
| font.hintingPreference
| font.hintingPreference
| font.hintingPreference
| imageSource
| overwriteMode
| overwriteMode

### New QML Signals

| binaryMessageReceived()

### New QML Methods

| convertVolume()
| sendBinaryMessage()
| tryVerify()

## Additions to Other Qt 5 Releases

- 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