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 QMarginsF:
| QMarginsF | operator|(const QMarginsF &m1, const QMarginsF &m2) |
Class QMargins:
| QMargins | operator|(const QMargins &m1, const QMargins &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 QMetaSequence:
| QMetaSequence | fromContainer() |
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 QModelIndex:
| void | multiData(QModelRoleDataSpan roleDataSpan) const |
Class QMultiHash:
| QMultiHash<Key, T> & | unite(const QHash<Key, T> &other) |
Class QMultiMap:
| QMultiMap::iterator | erase(QMultiMap::const_iterator first, QMultiMap::const_iterator last) |
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 QStringTokenizer:
| decltype(QtPrivate::Tok::TokenizerResult<Haystack, Needle>({std::forward<Haystack>(h), std::forward<Needle>(n), flags...})) | qTokenize(Haystack &&haystack, Needle &&needle, Flags... flags) |
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 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