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

# New Classes and Functions in Qt 5.3

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

### New Classes

A
  QAtomicInteger

C
  QCameraInfo
  QCameraInfoControl

M
  QMacToolBar
  QMacToolBarItem
  QMarginsF
  QMaskGenerator
  QMediaServiceCameraInfoInterface
  QMediaServiceDefaultDeviceInterface

N
  QNearFieldShareManager
  QNearFieldShareTarget

P
  QPageLayout
  QPageSize

Q
  QQuickWidget

S
  QSignalBlocker

W
  QWebSocket
  QWebSocketCorsAuthenticator
  QWebSocketServer

### New Member Functions

Class QQuickWindow:

void | afterAnimating()
void | afterSynchronizing()
void | openglContextCreated(QOpenGLContext *context)
void | sceneGraphAboutToStop()
void | sceneGraphError(QQuickWindow::SceneGraphError error, const QString &message)

Class QSerialPortInfo:

QString | serialNumber() const

Class QPlainTextEdit:

bool | find(const QRegExp &exp, QTextDocument::FindFlags options)

Class QTextEdit:

bool | find(const QRegExp &exp, QTextDocument::FindFlags options)

Class QBluetoothLocalDevice:

QList<QBluetoothAddress> | connectedDevices() const
void | deviceConnected(const QBluetoothAddress &address)
void | deviceDisconnected(const QBluetoothAddress &address)

Class QAtomicInteger:

T | fetchAndAndAcquire(T valueToAnd)
T | fetchAndAndOrdered(T valueToAnd)
T | fetchAndAndRelaxed(T valueToAnd)
T | fetchAndAndRelease(T valueToAnd)
T | fetchAndOrAcquire(T valueToOr)
T | fetchAndOrOrdered(T valueToOr)
T | fetchAndOrRelaxed(T valueToOr)
T | fetchAndOrRelease(T valueToOr)
T | fetchAndSubAcquire(T valueToSub)
T | fetchAndSubOrdered(T valueToSub)
T | fetchAndSubRelaxed(T valueToSub)
T | fetchAndSubRelease(T valueToSub)
T | fetchAndXorAcquire(T valueToXor)
T | fetchAndXorOrdered(T valueToXor)
T | fetchAndXorRelaxed(T valueToXor)
T | fetchAndXorRelease(T valueToXor)
T | operator T() const
T | operator&=(T value)
T | operator++()
T | operator++(int)
T | operator+=(T value)
T | operator--()
T | operator--(int)
T | operator-=(T value)
QAtomicInteger<T> & | operator=(T)
T | operator^=(T value)
T | operator|=(T value)

Class QByteArray:

QByteArray | fromCFData(CFDataRef data)
QByteArray | fromNSData(const NSData *data)
QByteArray | fromRawCFData(CFDataRef data)
QByteArray | fromRawNSData(const NSData *data)
QMargins | operator+(const QMargins &lhs, int rhs)
QMargins | operator+(int lhs, const QMargins &rhs)
QMargins | operator+(const QMargins &margins)
QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
CFDataRef | toCFData() const
NSData * | toNSData() const
CFDataRef | toRawCFData() const
NSData * | toRawNSData() const

Class FromBase64Result:

uint | qHash(float key, uint seed)
uint | qHash(double key, uint seed)
uint | qHash(long double key, uint seed)

Class QChar:

JoiningType | joiningType() const
JoiningType | joiningType(uint ucs4)

Class QCoreApplication:

bool | isSetuidAllowed()
void | qRemovePostRoutine(QtCleanUpFunction ptr)
void | setSetuidAllowed(bool allow)

Class QDeadlineTimer:

QMargins | operator+(const QMargins &lhs, int rhs)
QMargins | operator+(int lhs, const QMargins &rhs)
QMargins | operator+(const QMargins &margins)
QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QMargins | operator-(const QMargins &lhs, int rhs)
QRect | operator-(const QRect &lhs, const QMargins &rhs)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)

Class QFlag:

uint | operator uint() const

Class QJsonArray:

QJsonArray | operator+(const QJsonValue &value) const
QJsonArray & | operator+=(const QJsonValue &value)
QJsonArray & | operator<<(const QJsonValue &value)

Class QMargins:

QMargins | operator+(const QMargins &lhs, int rhs)
QMargins | operator+(int lhs, const QMargins &rhs)
QMargins | operator+(const QMargins &margins)
QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QMargins | operator-(const QMargins &lhs, int rhs)
QRect | operator-(const QRect &lhs, const QMargins &rhs)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)

Class QMarginsF:

QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QRect | operator-(const QRect &lhs, const QMargins &rhs)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)

Class QMessageLogger:

void | critical(const QLoggingCategory &cat, const char *msg, ...) const
void | critical(CategoryFunction catFunc, const char *msg, ...) const
QDebug | critical(const QLoggingCategory &cat) const
QDebug | critical(CategoryFunction catFunc) const
void | debug(const QLoggingCategory &cat, const char *msg, ...) const
void | debug(CategoryFunction catFunc, const char *msg, ...) const
QDebug | debug(const QLoggingCategory &cat) const
QDebug | debug(CategoryFunction catFunc) const
void | warning(const QLoggingCategory &cat, const char *msg, ...) const
void | warning(CategoryFunction catFunc, const char *msg, ...) const
QDebug | warning(CategoryFunction catFunc) const

Class QPoint:

QMargins | operator+(const QMargins &lhs, int rhs)
QMargins | operator+(int lhs, const QMargins &rhs)
QMargins | operator+(const QMargins &margins)
QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QMargins | operator-(const QMargins &lhs, int rhs)
QRect | operator-(const QRect &lhs, const QMargins &rhs)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)

Class QPointF:

QMargins | operator+(const QMargins &lhs, int rhs)
QMargins | operator+(int lhs, const QMargins &rhs)
QMargins | operator+(const QMargins &margins)
QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QMargins | operator-(const QMargins &lhs, int rhs)
QRect | operator-(const QRect &lhs, const QMargins &rhs)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)

Class QProcess:

qint64 | processId() const

Class QRect:

QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QRect | operator-(const QRect &lhs, const QMargins &rhs)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)

Class QRectF:

QRectF | marginsAdded(const QMarginsF &margins) const
QRectF | marginsRemoved(const QMarginsF &margins) const
QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QRectF & | operator+=(const QMarginsF &margins)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)
QRectF & | operator-=(const QMarginsF &margins)

Class QSharedPointer:

void | swap(QSharedPointer<T> &other)

Class QSize:

QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QRect | operator-(const QRect &lhs, const QMargins &rhs)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)

Class QSizeF:

QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QRect | operator-(const QRect &lhs, const QMargins &rhs)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)

Class QString:

bool | contains(QLatin1String str, Qt::CaseSensitivity cs) const
QString | fromUcs4(const char32_t *str, int size)
QString | fromUtf16(const char16_t *str, int size)
QMargins | operator+(const QMargins &lhs, int rhs)
QMargins | operator+(int lhs, const QMargins &rhs)
QMargins | operator+(const QMargins &margins)
QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)

Class QVarLengthArray:

bool | contains(const T &value) const
int | indexOf(const T &value, int from) const
int | lastIndexOf(const T &value, int from) const

Class QDBusServer:

bool | isAnonymousAuthenticationAllowed() const
void | setAnonymousAuthenticationAllowed(bool value)

Class QColor:

QRgb | qPremultiply(QRgb rgb)
QRgb | qUnpremultiply(QRgb rgb)

Class QFont:

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

Class QMouseEvent:

Qt::MouseEventFlags | flags() const
Qt::MouseEventSource | source() const

Class QOpenGLContext:

bool | isOpenGLES() const
void * | openGLModuleHandle()
OpenGLModuleType | openGLModuleType()

Class QOpenGLFramebufferObject:

GLuint | takeTexture()

Class QOpenGLFunctions:

void | glBindTexture(GLenum target, GLuint texture)
void | glBlendFunc(GLenum sfactor, GLenum dfactor)
void | glClear(GLbitfield mask)
void | glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
void | glClearStencil(GLint s)
void | glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
void | glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
void | glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void | glCullFace(GLenum mode)
void | glDeleteTextures(GLsizei n, const GLuint *textures)
void | glDepthFunc(GLenum func)
void | glDepthMask(GLboolean flag)
void | glDisable(GLenum cap)
void | glDrawArrays(GLenum mode, GLint first, GLsizei count)
void | glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
void | glEnable(GLenum cap)
void | glFinish()
void | glFlush()
void | glFrontFace(GLenum mode)
void | glGenTextures(GLsizei n, GLuint *textures)
void | glGetBooleanv(GLenum pname, GLboolean *params)
GLenum | glGetError()
void | glGetFloatv(GLenum pname, GLfloat *params)
void | glGetIntegerv(GLenum pname, GLint *params)
const GLubyte * | glGetString(GLenum name)
void | glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
void | glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
void | glHint(GLenum target, GLenum mode)
GLboolean | glIsEnabled(GLenum cap)
GLboolean | glIsTexture(GLuint texture)
void | glLineWidth(GLfloat width)
void | glPixelStorei(GLenum pname, GLint param)
void | glPolygonOffset(GLfloat factor, GLfloat units)
void | glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
void | glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
void | glStencilFunc(GLenum func, GLint ref, GLuint mask)
void | glStencilMask(GLuint mask)
void | glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
void | glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | glTexParameterf(GLenum target, GLenum pname, GLfloat param)
void | glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
void | glTexParameteri(GLenum target, GLenum pname, GLint param)
void | glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
void | glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
void | glViewport(GLint x, GLint y, GLsizei width, GLsizei height)

Class QOpenGLShaderProgram:

bool | create()

Class QOpenGLTexture:

void | setCompressedData(int mipLevel, int layer, CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options)
void | setData(int mipLevel, int layer, CubeMapFace cubeFace, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options)
void | setData(int mipLevel, int layer, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options)
void | setData(int mipLevel, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options)
void | setData(PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options)

Class QPagedPaintDevice:

QPageLayout | pageLayout() const
bool | setPageLayout(const QPageLayout &newPageLayout)
bool | setPageMargins(const QMarginsF &margins)
bool | setPageMargins(const QMarginsF &margins, QPageLayout::Unit units)
bool | setPageOrientation(QPageLayout::Orientation orientation)
bool | setPageSize(const QPageSize &pageSize)

Class QPdfWriter:

QPageLayout | pageLayout() const
int | resolution() const
bool | setPageLayout(const QPageLayout &newPageLayout)
bool | setPageMargins(const QMarginsF &margins)
bool | setPageMargins(const QMarginsF &margins, QPageLayout::Unit units)
bool | setPageOrientation(QPageLayout::Orientation orientation)
bool | setPageSize(const QPageSize &pageSize)
void | setResolution(int resolution)

Class QPixmap:

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

Class QPlatformIntegration:

virtual QOpenGLContext::OpenGLModuleType | openGLModuleType()

Class QPlatformSystemTrayIcon:

virtual QPlatformMenu * | createMenu() const

Class QPlatformTheme:

virtual QString | standardButtonText(int button) const

Class QPlatformWindow:

virtual QRect | normalGeometry() const

Class QPointingDeviceUniqueId:

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

Class QRhiVertexInputBinding:

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

Class QShaderKey:

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

Class QSurface:

bool | supportsOpenGL() const

Class QSurfaceFormat:

QSurfaceFormat::FormatOptions | options() const
void | setOption(FormatOption option, bool on)
void | setOptions(QSurfaceFormat::FormatOptions options)
void | setSwapInterval(int interval)
int | swapInterval() const
bool | testOption(FormatOption option) const

Class QTextBlock:

QVector<QTextLayout::FormatRange> | textFormats() const

Class QTextCharFormat:

void | setFont(const QFont &font, FontPropertiesInheritanceBehavior behavior)

Class QTextFormat:

bool | isEmpty() const

Class QMediaServiceProviderHint:

QCamera::Position | cameraPosition() const

Class QSslConfiguration:

QList<QByteArray> | allowedNextProtocols() const
QByteArray | nextNegotiatedProtocol() const
NextProtocolNegotiationStatus | nextProtocolNegotiationStatus() const
void | setAllowedNextProtocols(QList<QByteArray> protocols)

Class QNmeaPositionInfoSource:

void | setUserEquivalentRangeError(double uere)
double | userEquivalentRangeError() const

Class QPrinter:

QPageLayout | pageLayout() const
bool | setPageLayout(const QPageLayout &newLayout)
bool | setPageMargins(const QMarginsF &margins, QPageLayout::Unit units)
bool | setPageOrientation(QPageLayout::Orientation orientation)
bool | setPageSize(const QPageSize &pageSize)

Class QPrinterInfo:

QStringList | availablePrinterNames()
QPageSize | defaultPageSize() const
QString | defaultPrinterName()
bool | isRemote() const
QPageSize | maximumPhysicalPageSize() const
QPageSize | minimumPhysicalPageSize() const
QPrinter::PrinterState | state() const
QList<QPageSize> | supportedPageSizes() const
QList<int> | supportedResolutions() const
bool | supportsCustomPageSizes() const

### New Functions in Namespaces

void | ignoreMessage(QtMsgType type, const QRegularExpression &messagePattern)

### New Global Functions

QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs)
QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs)
QMargins | operator+(const QMargins &margins)
QMargins | operator+(int lhs, const QMargins &rhs)
QMargins | operator+(const QMargins &lhs, int rhs)
QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs)
QRect | operator-(const QRect &lhs, const QMargins &rhs)
QMargins | operator-(const QMargins &lhs, int rhs)
uint | qHash(const QFont &font, uint seed)
uint | qHash(long double key, uint seed)
uint | qHash(double key, uint seed)
uint | qHash(float key, uint seed)
QRgb | qPremultiply(QRgb rgb)
void | qRemovePostRoutine(QtCleanUpFunction ptr)
QRgb | qUnpremultiply(QRgb rgb)

### New Macros

| QVERIFY_EXCEPTION_THROWN(expression, exceptiontype)
| QVERIFY_EXCEPTION_THROWN(expression, exceptiontype)
| qCCritical(category, const char *message, ...)
| qCCritical(category, const char *message, ...)
| qCDebug(category, const char *message, ...)
| qCDebug(category, const char *message, ...)
| qCWarning(category, const char *message, ...)
| qCWarning(category, const char *message, ...)

### New Enum Types

enum | Position { UnspecifiedPosition, BackFace, FrontFace }
enum | OpenGLModuleType { LibGL, LibGLES }
enum | SceneGraphError { ContextNotAvailable }
enum | FontPropertiesInheritanceBehavior { FontPropertiesSpecifiedOnly, FontPropertiesAll }
enum | MouseEventFlag { MouseEventCreatedDoubleClick, MouseEventFlagMask }
enum | MouseEventSource { MouseEventNotSynthesized, MouseEventSynthesizedBySystem, MouseEventSynthesizedByQt, MouseEventSynthesizedByApplication }

### New Type Aliases

typedef | CategoryFunction

### New Properties

- showGroupSeparator : const
- placeholderText : const
- mousePressAndHoldInterval : const
- baseUrl : const

### New QML Types

C
  Calendar
  CalendarStyle
  CoordinateAnimation

D
  Dialog

M
  Matrix4x4
  MenuBarStyle
  MenuStyle

W
  WebSocket
  WebSocketServer

### New QML Properties

| currentFont
| mipmap

### New QML Signals

| afterAnimating()
| sceneGraphError()

### New QML Methods

| linkAt()
| linkAt()

## Additions to Other Qt 5 Releases

- 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.2
- What's New in Qt 5.1
- What's New in Qt 5.0