What's New in Qt 6.0
Build System Changes in Qt 6
Building Qt from sources now requires CMake and Ninja. See Build System Changes in Qt 6 for more details on this and other changes in configure.
Changes to Supported Modules
Qt 6.0 is streamlined compared to Qt 5 and some modules are no longer in the default installation of Qt 6.0. Because of the modularized structure of Qt, new modules or previous Qt 5 modules may appear in future releases of Qt 6. For more information, visit the All Modules page.
The Changes to Qt Modules in Qt 6 has a list of API changes.
New Modules in Qt 6.0
The following are new modules in Qt 6.0.
- Qt 5 Core Compatibility APIs
- Qt Shader Tools - for graphics and compute shaders
Removed Modules in Qt 6.0
The following are Qt 5 modules that are not in Qt 6.0. They may be re-introduced in a future release of Qt 6.
| Module | qmake | Comments | 
|---|---|---|
| Qt Android Extras | androidextras | See Changes to Qt Extras Modules | 
| Qt Bluetooth | bluetooth | |
| Qt Charts | charts | |
| Qt Data Visualization | datavisualization | |
| Qt Graphical Effects | only QML types | |
| Qt Location | location | |
| Qt Mac Extras | macextras | See Changes to Qt Extras Modules | 
| Qt Multimedia | multimedia | |
| Qt Multimedia Widgets | multimediawidgets | |
| Qt NFC | nfc | |
| Qt Positioning | positioning | |
| Qt Purchasing | purchasing | |
| Qt Quick Extras | Merged into Qt Quick Controls | |
| Qt Remote Objects | remoteobjects | |
| Qt Script | qtscript | |
| Qt SCXML | scxml | |
| Qt Script Tools | scripttools | |
| Qt Sensors | sensors | |
| Qt Serial Bus | serialbus | |
| Qt Serial Port | serialport | |
| Qt Speech | texttospeech | |
| Qt WebChannel | webchannel | |
| Qt WebEngine | webenginecore | |
| Qt WebSockets | websockets | |
| Qt WebView | webview | |
| Qt Windows Extras | winextras | See Changes to Qt Extras Modules | 
| Qt X11 Extras | x11extras | See Changes to Qt Extras Modules | 
| Qt XML Patterns | xmlpatterns | 
New Classes and Functions
The section provides a comprehensive list of all new classes and functions introduced in Qt 6.
- 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 Variables
- New QML Types
- New QML Properties
New Namespaces
| namespace | QNativeInterface | 
| namespace | QQuickOpenGLUtils | 
New Classes
- A
- QAbstractFileIconProvider
- QAction
- QActionGroup
- QAdoptSharedDataTag
- QAndroidOffscreenSurface (QNativeInterface)
- QAnyStringView
- QAxBaseObject
- QAxBaseWidget
- QAxObjectInterface
- P
- QPageRanges
- QPartialOrdering
- QPickingProxy (Qt3DRender)
- QPointerEvent
- QPointingDevice
- QPromise
- QProperty
- QPropertyBindingError
- QPropertyData
New Member Functions
Class QBluetoothDeviceInfo:
| QList<QBluetoothUuid> | serviceUuids() const | 
Class QAbstractItemModel:
| virtual bool | clearItemData(const QModelIndex &index) | 
| virtual void | multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const | 
Class QAbstractProxyModel:
| virtual bool | clearItemData(const QModelIndex &index) override | 
Class QBitArray:
| quint32 | toUInt32(QSysInfo::Endian endianness, bool *ok) const | 
Class QByteArray:
| int | compare(QByteArrayView bv, Qt::CaseSensitivity cs) const | 
| bool | contains(QByteArrayView bv) const | 
| qsizetype | count(QByteArrayView bv) const | 
| bool | endsWith(QByteArrayView bv) const | 
| QByteArray | first(qsizetype n) const | 
| qsizetype | indexOf(QByteArrayView bv, qsizetype from) const | 
| QByteArray & | insert(qsizetype i, QByteArrayView data) | 
| QByteArray | last(qsizetype n) const | 
| qsizetype | lastIndexOf(QByteArrayView bv, qsizetype from) const | 
| void | push_back(QByteArrayView str) | 
| void | push_front(QByteArrayView str) | 
| QByteArray & | replace(QByteArrayView before, QByteArrayView after) | 
| QByteArray | sliced(qsizetype pos, qsizetype n) const | 
| QByteArray | sliced(qsizetype pos) const | 
| bool | startsWith(QByteArrayView bv) const | 
Class QChar:
Class QDate:
| QDate | fromString(QStringView string, Qt::DateFormat format) | 
| QDate | fromString(QStringView string, QStringView format, QCalendar cal) | 
| QDate | fromString(const QString &string, QStringView format, QCalendar cal) | 
Class QDataStream:
| QDataStream & | operator<<(char16_t c) | 
| QDataStream & | operator<<(char32_t c) | 
| QDataStream & | operator<<(QDataStream &out, const std::pair<T1, T2> &pair) | 
| QDataStream & | operator>>(char16_t &c) | 
| QDataStream & | operator>>(char32_t &c) | 
| QDataStream & | operator>>(QDataStream &in, std::pair<T1, T2> &pair) | 
Class QDateTime:
| QDateTime | fromString(QStringView string, Qt::DateFormat format) | 
| QDateTime | fromString(QStringView string, QStringView format, QCalendar cal) | 
| QDateTime | fromString(const QString &string, QStringView format, QCalendar cal) | 
Class QDebug:
| QDebug & | operator<<(const char16_t *t) | 
| QDebug & | operator<<(QUtf8StringView s) | 
| QDebug & | operator<<(QByteArrayView t) | 
| QString | toString(T &&object) | 
Class QDir:
| void | addSearchPath(const QString &prefix, const std::filesystem::path &path) | 
| std::filesystem::path | filesystemAbsolutePath() const | 
| std::filesystem::path | filesystemCanonicalPath() const | 
| std::filesystem::path | filesystemPath() const | 
| void | setPath(const std::filesystem::path &path) | 
Class QEvent:
| virtual QEvent * | clone() const | 
| bool | isInputEvent() const | 
| bool | isPointerEvent() const | 
| bool | isSinglePointEvent() const | 
Class QExplicitlySharedDataPointer:
Class QFile:
| bool | copy(const std::filesystem::path &newName) | 
| std::filesystem::path | filesystemFileName() const | 
| bool | link(const std::filesystem::path &newName) | 
| QFileDevice::Permissions | permissions(const std::filesystem::path &filename) | 
| bool | rename(const std::filesystem::path &newName) | 
| void | setFileName(const std::filesystem::path &name) | 
| bool | setPermissions(const std::filesystem::path &filename, QFileDevice::Permissions permissionSpec) | 
Class QFileInfo:
| std::filesystem::path | filesystemAbsoluteFilePath() const | 
| std::filesystem::path | filesystemAbsolutePath() const | 
| std::filesystem::path | filesystemCanonicalFilePath() const | 
| std::filesystem::path | filesystemCanonicalPath() const | 
| std::filesystem::path | filesystemFilePath() const | 
| std::filesystem::path | filesystemPath() const | 
| std::filesystem::path | filesystemSymLinkTarget() const | 
| void | setFile(const std::filesystem::path &file) | 
| void | stat() | 
Class QFuture:
| bool | isSuspended() const | 
| bool | isSuspending() const | 
| bool | isValid() const | 
| QFuture<T> | onCanceled(Function &&handler) | 
| QFuture<T> | onFailed(Function &&handler) | 
| void | setSuspended(bool suspend) | 
| void | suspend() | 
| T | takeResult() | 
| QFuture<ResultType<Function>> | then(Function &&function) | 
| QFuture<ResultType<Function>> | then(QtFuture::Launch policy, Function &&function) | 
| QFuture<ResultType<Function>> | then(QThreadPool *pool, Function &&function) | 
| void | toggleSuspended() | 
Class QFutureWatcher:
| bool | isSuspended() const | 
| bool | isSuspending() const | 
| void | setSuspended(bool suspend) | 
| void | suspend() | 
| void | suspended() | 
| void | suspending() | 
| void | toggleSuspended() | 
Class QHash:
| size_t | qHash(char8_t key, size_t seed) | 
| size_t | qHash(char16_t key, size_t seed) | 
| size_t | qHash(char32_t key, size_t seed) | 
| size_t | qHash(wchar_t key, size_t seed) | 
| size_t | qHash(const QByteArrayView &key, size_t seed) | 
| size_t | qHash(std::nullptr_t key, size_t seed) | 
| size_t | qHash(QPoint key, size_t seed) | 
| size_t | qHash(const QTypeRevision &key, size_t seed) | 
| size_t | qHashMulti(size_t seed, const T &... args) | 
| size_t | qHashMultiCommutative(size_t seed, const T &... args) | 
Class QIODevice:
| virtual qint64 | skipData(qint64 maxSize) | 
Class QJsonValue:
| qint64 | toInteger(qint64 defaultValue) const | 
Class QLatin1String:
| QLatin1String | first(qsizetype n) const | 
| QLatin1String | last(qsizetype n) const | 
| QLatin1String | sliced(qsizetype pos) const | 
| QLatin1String | sliced(qsizetype pos, qsizetype n) const | 
| QString | toString() const | 
| decltype(qTokenize(*this, std::forward<Needle>(needle), flags...)) | tokenize(Needle &&sep, Flags... flags) const | 
Class QLibraryInfo:
| QString | path(QLibraryInfo::LibraryPath p) | 
Class QList:
| void | append(QList<T> &&value) | 
| QList<T> | first(qsizetype n) const | 
| QList<T> | last(qsizetype n) const | 
| QList<T> | operator+(QList<T> &&other) const | 
| QList<T> & | operator+=(QList<T> &&other) | 
| QList<T> & | operator<<(QList<T> &&other) | 
| QList<T> | sliced(qsizetype pos, qsizetype n) const | 
| QList<T> | sliced(qsizetype pos) const | 
Class QLocale:
| QString | quoteString(QStringView str, QLocale::QuotationStyle style) const | 
Class QMap:
| QMap::iterator | erase(QMap::const_iterator first, QMap::const_iterator last) | 
Class QMargins:
| QMargins | operator|(const QMargins &m1, const QMargins &m2) | 
Class QMarginsF:
| QMarginsF | operator|(const QMarginsF &m1, const QMarginsF &m2) | 
Class QMetaMethod:
| QMetaType | parameterMetaType(int index) const | 
| QByteArray | parameterTypeName(int index) const | 
| int | relativeMethodIndex() const | 
| QMetaType | returnMetaType() const | 
Class QMetaProperty:
| QUntypedBindable | bindable(QObject *object) const | 
| bool | isBindable() const | 
| QMetaType | metaType() const | 
| int | typeId() const | 
Class QMetaType:
| qsizetype | alignOf() const | 
| QPartialOrdering | compare(const void *lhs, const void *rhs) const | 
| bool | equals(const void *lhs, const void *rhs) const | 
| bool | hasRegisteredDebugStreamOperator() const | 
| bool | hasRegisteredMutableViewFunction() | 
| bool | view(QMetaType fromType, void *from, QMetaType toType, void *to) | 
Class QMetaSequence:
| QMetaSequence | fromContainer() | 
Class QModelIndex:
| void | multiData(QModelRoleDataSpan roleDataSpan) const | 
Class QMultiMap:
| QMultiMap::iterator | erase(QMultiMap::const_iterator first, QMultiMap::const_iterator last) | 
Class QMultiHash:
| QMultiHash<Key, T> & | unite(const QHash<Key, T> &other) | 
Class QPersistentModelIndex:
| void | multiData(QModelRoleDataSpan roleDataSpan) const | 
Class QPointer:
| T * | get() const | 
Class QProcess:
| std::function<void ()> | childProcessModifier() const | 
| void | setChildProcessModifier(const std::function<void ()> &modifier) | 
| void | startCommand(const QString &command, QIODeviceBase::OpenMode mode) | 
Class QRect:
| QRect | span(const QPoint &p1, const QPoint &p2) | 
Class QRegularExpression:
| QRegularExpression | fromWildcard(QStringView pattern, Qt::CaseSensitivity cs, QRegularExpression::WildcardConversionOptions options) | 
| QRegularExpressionMatchIterator | globalMatch(QStringView subjectView, qsizetype offset, QRegularExpression::MatchType matchType, QRegularExpression::MatchOptions matchOptions) const | 
| QRegularExpressionMatch | match(QStringView subjectView, qsizetype offset, QRegularExpression::MatchType matchType, QRegularExpression::MatchOptions matchOptions) const | 
Class QSharedDataPointer:
Class QSortFilterProxyModel:
| void | autoAcceptChildRowsChanged(bool autoAcceptChildRows) | 
| void | invalidateColumnsFilter() | 
| void | invalidateRowsFilter() | 
Class QString:
| qsizetype | count(QStringView str, Qt::CaseSensitivity cs) const | 
| QString | first(qsizetype n) const | 
| QString | fromLatin1(QByteArrayView str) | 
| QString | fromLocal8Bit(QByteArrayView str) | 
| QString | fromUtf8(QByteArrayView str) | 
| QString | fromUtf8(const char8_t *str, qsizetype size) | 
| QString & | insert(qsizetype position, QStringView str) | 
| QString | last(qsizetype n) const | 
| int | localeAwareCompare(QStringView other) const | 
| int | localeAwareCompare(QStringView s1, QStringView s2) | 
| QString & | operator+=(QStringView str) | 
| QString & | prepend(QStringView str) | 
| QString | sliced(qsizetype pos, qsizetype n) const | 
| QString | sliced(qsizetype pos) const | 
| decltype(qTokenize(*this, std::forward<Needle>(needle), flags...)) | tokenize(Needle &&sep, Flags... flags) const & | 
| decltype(qTokenize(std::move(*this), std::forward<Needle>(needle), flags...)) | tokenize(Needle &&sep, Flags... flags) && | 
Class QStringListModel:
| virtual bool | clearItemData(const QModelIndex &index) override | 
Class QStringView:
| QStringView::const_pointer | constData() const | 
| qsizetype | count(QChar ch, Qt::CaseSensitivity cs) const | 
| qsizetype | count(QStringView str, Qt::CaseSensitivity cs) const | 
| QStringView | first(qsizetype n) const | 
| QStringView | last(qsizetype n) const | 
| QStringView | sliced(qsizetype pos, qsizetype n) const | 
| QStringView | sliced(qsizetype pos) const | 
| QList<QStringView> | split(QStringView sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const | 
| QList<QStringView> | split(QChar sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const | 
| QList<QStringView> | split(const QRegularExpression &re, Qt::SplitBehavior behavior) const | 
| CFStringRef | toCFString() const | 
| double | toDouble(bool *ok) const | 
| float | toFloat(bool *ok) const | 
| int | toInt(bool *ok, int base) const | 
| long | toLong(bool *ok, int base) const | 
| qlonglong | toLongLong(bool *ok, int base) const | 
| NSString * | toNSString() const | 
| short | toShort(bool *ok, int base) const | 
| uint | toUInt(bool *ok, int base) const | 
| ulong | toULong(bool *ok, int base) const | 
| qulonglong | toULongLong(bool *ok, int base) const | 
| ushort | toUShort(bool *ok, int base) const | 
| decltype(qTokenize(*this, std::forward<Needle>(needle), flags...)) | tokenize(Needle &&sep, Flags... flags) const | 
Class QStringTokenizer:
| decltype(QtPrivate::Tok::TokenizerResult<Haystack, Needle>({std::forward<Haystack>(h), std::forward<Needle>(n), flags...})) | qTokenize(Haystack &&haystack, Needle &&needle, Flags... flags) | 
Class QThreadPool:
| bool | contains(const QThread *thread) const | 
Class QTime:
| QTime | fromString(QStringView string, Qt::DateFormat format) | 
| QTime | fromString(QStringView string, QStringView format) | 
| QTime | fromString(const QString &string, QStringView format) | 
Class QTypeRevision:
| QDataStream & | operator<<(QDataStream &out, const QTypeRevision &revision) | 
| QDataStream & | operator>>(QDataStream &in, QTypeRevision &revision) | 
Class QUnhandledException:
Class QVariant:
| bool | canConvert(QMetaType type) const | 
| QPartialOrdering | compare(const QVariant &lhs, const QVariant &rhs) | 
| bool | convert(QMetaType targetType) | 
| QMetaType | metaType() const | 
Class QVarLengthArray:
| QVarLengthArray<T, Prealloc> & | operator=(QVarLengthArray<T, Prealloc> &&other) | 
Class QAction:
| QList<QObject *> | associatedObjects() const | 
Class QIcon:
| QPixmap | pixmap(const QSize &size, qreal devicePixelRatio, QIcon::Mode mode, QIcon::State state) const | 
Class QImageIOHandler:
| bool | allocateImage(QSize size, QImage::Format format, QImage *image) | 
Class QImage:
| QImage | convertedTo(QImage::Format format, Qt::ImageConversionFlags flags) const & | 
| QImage | convertedTo(QImage::Format format, Qt::ImageConversionFlags flags) && | 
| QImage | fromHBITMAP(HBITMAP hbitmap) | 
| QImage | fromHICON(HICON icon) | 
| void | mirror(bool horizontal, bool vertical) | 
| void | rgbSwap() | 
| HBITMAP | toHBITMAP() const | 
| HICON | toHICON(const QImage &mask) const | 
Class QImageReader:
| int | allocationLimit() | 
| void | setAllocationLimit(int mbLimit) | 
Class QInputEvent:
| const QInputDevice * | device() const | 
Class QKeyEvent:
| QKeyCombination | keyCombination() const | 
Class QPagedPaintDevice:
| QPageRanges | pageRanges() const | 
| virtual void | setPageRanges(const QPageRanges &ranges) | 
Class QRegion:
Class QShortcut:
| QList<QKeySequence> | keys() const | 
| void | setKeys(QKeySequence::StandardKey key) | 
| void | setKeys(const QList<QKeySequence> &keys) | 
Class QStandardItem:
| virtual void | multiData(QModelRoleDataSpan roleDataSpan) const | 
Class QSurfaceFormat:
| void | setColorSpace(const QColorSpace &colorSpace) | 
Class QTextCharFormat:
| qreal | baselineOffset() const | 
| void | setBaselineOffset(qreal baseline) | 
| void | setSubScriptBaseline(qreal baseline) | 
| void | setSuperScriptBaseline(qreal baseline) | 
| qreal | subScriptBaseline() const | 
| qreal | superScriptBaseline() const | 
Class QTextDocument:
| qreal | baselineOffset() const | 
| void | setBaselineOffset(qreal baseline) | 
| void | setSubScriptBaseline(qreal baseline) | 
| void | setSuperScriptBaseline(qreal baseline) | 
| qreal | subScriptBaseline() const | 
| qreal | superScriptBaseline() const | 
Class QWindow:
| QPointF | mapFromGlobal(const QPointF &pos) const | 
| QPointF | mapToGlobal(const QPointF &pos) const | 
| virtual void | paintEvent(QPaintEvent *ev) | 
Class QSslConfiguration:
| bool | handshakeMustInterruptOnError() const | 
| bool | missingCertificateIsFatal() const | 
| void | setCiphers(const QString &ciphers) | 
| void | setHandshakeMustInterruptOnError(bool interrupt) | 
| void | setMissingCertificateIsFatal(bool cannotRecover) | 
Class QSslSocket:
| void | continueInterruptedHandshake() | 
Class QSGVulkanTexture:
| QSGTexture * | fromNative(VkImage image, VkImageLayout layout, QQuickWindow *window, const QSize &size, QQuickWindow::CreateTextureOptions options) | 
Class QSGOpenGLTexture:
| QSGTexture * | fromNative(GLuint textureId, QQuickWindow *window, const QSize &size, QQuickWindow::CreateTextureOptions options) | 
Class QQmlApplicationEngine:
| void | setExtraFileSelectors(const QStringList &extraFileSelectors) | 
Class QSGMetalTexture:
| QSGTexture * | fromNative(int texture, QQuickWindow *window, const QSize &size, QQuickWindow::CreateTextureOptions options) | 
Class QSGD3D11Texture:
| QSGTexture * | fromNative(void *texture, QQuickWindow *window, const QSize &size, QQuickWindow::CreateTextureOptions options) | 
Class QQuickItem:
| virtual void | geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) | 
Class QQuickRenderControl:
| void | beginFrame() | 
| void | endFrame() | 
| bool | initialize() | 
| int | samples() const | 
| void | setSamples(int sampleCount) | 
| QQuickWindow * | window() const | 
Class QQuickWindow:
| void | afterFrameEnd() | 
| void | beforeFrameBegin() | 
| QSGRendererInterface::GraphicsApi | graphicsApi() | 
| QQuickGraphicsConfiguration | graphicsConfiguration() const | 
| QQuickGraphicsDevice | graphicsDevice() const | 
| QQuickRenderTarget | renderTarget() const | 
| void | setGraphicsConfiguration(const QQuickGraphicsConfiguration &config) | 
| void | setGraphicsDevice(const QQuickGraphicsDevice &device) | 
| void | setRenderTarget(const QQuickRenderTarget &target) | 
Class QSGRenderNode:
| virtual void | prepare() | 
Class QCanBusDeviceInfo:
| QString | alias() const | 
Class QModbusReply:
| QList<QModbusDevice::IntermediateError> | intermediateErrors() const | 
Class QSqlDriver:
| virtual int | maximumIdentifierLength(QSqlDriver::IdentifierType type) const | 
Class QSqlQuery:
| QVariantList | boundValues() const | 
Class QAbstractItemView:
| virtual void | initViewItemOption(QStyleOptionViewItem *option) const | 
| virtual QAbstractItemDelegate * | itemDelegateForIndex(const QModelIndex &index) const | 
Class QGraphicsLayoutItem:
| virtual bool | isEmpty() const | 
Class QHeaderView:
| virtual void | initStyleOptionForIndex(QStyleOptionHeader *option, int logicalIndex) const | 
Class QLabel:
| QPicture | picture() const | 
Class QWidget:
| QPointF | mapFrom(const QWidget *parent, const QPointF &pos) const | 
| QPointF | mapFromGlobal(const QPointF &pos) const | 
| QPointF | mapFromParent(const QPointF &pos) const | 
| QPointF | mapTo(const QWidget *parent, const QPointF &pos) const | 
| QPointF | mapToGlobal(const QPointF &pos) const | 
| QPointF | mapToParent(const QPointF &pos) const | 
New Functions in Namespaces
| void | resetOpenGLState() | 
| QTaskBuilder<Task> | task(Task &&task) | 
New Global Functions
| long double | qDegreesToRadians(long double degrees) | 
| long double | qRadiansToDegrees(long double radians) | 
New Macros
| QT_IMPLICIT_QCHAR_CONSTRUCTION | |
| QT_IMPLICIT_QFILEINFO_CONSTRUCTION | |
| Q_MOC_INCLUDE | |
| Q_OBJECT_BINDABLE_PROPERTY(containingClass, type, name, signal) | |
| Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(containingClass, type, name, initialvalue, signal) | |
| Q_OBJECT_COMPUTED_PROPERTY(containingClass, type, name, callback) | 
New Enum Types
| enum | IntermediateError { ResponseCrcError, ResponseRequestMismatch } | 
| enum | WildcardConversionOption { DefaultWildcardConversion, UnanchoredWildcardConversion } | 
| enum class | AlertLevel { Warning, Fatal, Unknown } | 
| enum class | AlertType { CloseNotify, UnexpectedMessage, BadRecordMac, RecordOverflow, DecompressionFailure, …, UnknownAlertMessage } | 
| enum class | Launch { Sync, Async, Inherit } | 
New Type Aliases
New Properties
- sortIndex : const
- readOnly : const
- autoAcceptChildRows :
- additionalShmFormats : const