New Features in Qt 6.0: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Bits on QList/QVector being merged and prepend optimization added.)
(→‎Within QtCore: Added Q_DECLARE_TYPEINFO changes)
Line 14: Line 14:
* QVector and QList are [https://doc-snapshots.qt.io/qt6-dev/qlist.html#details unified]. QList is updated and should be used by default when array-like behaviour is needed
* QVector and QList are [https://doc-snapshots.qt.io/qt6-dev/qlist.html#details unified]. QList is updated and should be used by default when array-like behaviour is needed
* QList, QString and QByteArray now have optimized complexity of insertion at the beginning (a.k.a. prepend)
* QList, QString and QByteArray now have optimized complexity of insertion at the beginning (a.k.a. prepend)
* Q_DECLARE_TYPEINFO() mechanism simplified:
** Trivially copyable and trivially destructible types are automatically treated as relocatable (Q_RELOCATABLE_TYPE)
** Q_MOVABLE_TYPE and Q_RELOCATABLE_TYPE mean the same thing


== New Modules ==
== New Modules ==

Revision as of 15:25, 30 September 2020

New Features (within existing modules)

There's been lots of clean-up all round and many deprecated methods have been removed.

For lists of obsolete and new classes and functions, see the Qt 6 documentation snapshot pages automatically generated by QDoc based on the code: Obsolete Classes and New Classes and Functions.

Within QtCore

  • QByteArrayView now provides a light-weight way to view the content of a QByteArray or other char-equivalent array data.
  • QPromise allows setting values, progress and exceptions to QFuture
  • QFuture supports attaching continuations
  • Signals can now be converted to QFuture objects
  • QVector and QList are unified. QList is updated and should be used by default when array-like behaviour is needed
  • QList, QString and QByteArray now have optimized complexity of insertion at the beginning (a.k.a. prepend)
  • Q_DECLARE_TYPEINFO() mechanism simplified:
    • Trivially copyable and trivially destructible types are automatically treated as relocatable (Q_RELOCATABLE_TYPE)
    • Q_MOVABLE_TYPE and Q_RELOCATABLE_TYPE mean the same thing

New Modules

Platform Changes

All

  • Qt is now built with CMake.
  • Qt High DPI scaling is now activated by default; the default rounding policy is PassThrough

Linux

macOS

Windows

Removed Modules

See Checklist for Qt 6.0 inclusion for the selection process. Some of the modules omitted in 6.0 have moved to the marketplace. Others may be brought back in 6.1 or later. Please indicate which, if either, of these apply

  • Qt Active Qt → 6.1
  • Qt Multimedia → ?
  • Qt Multimedia Widgets → ?
  • Qt Quick Dialogs → ?
  • Qt Bluetooth → ?
  • Qt Charts → ?
  • Qt Data Visualization → ?
  • Qt Gamepad → ?
  • Qt Graphical Effects → ?
  • Qt Image Formats → ?
  • Qt Lottie → ?
  • Qt Location → ?
  • Qt Positioning → ?
  • Qt Quick Extras → ?
  • Qt Quick WebGL → ?
  • Qt Remote Objects → ?
  • Qt SCXML → ?
  • Qt Sensors → ?
  • Qt Serial Bus → ?
  • Qt Speech → ?
  • Qt Virtual Keyboard → ?
  • Qt WebChannel → ?
  • Qt WebEngine → ?
  • Qt WebView → ?
  • Qt Windows Extras → 6.1
  • Qt XML Patterns → ?

Code from these Qt <platform> Extras modules will find new homes in more relevant modules over time, and any remaining APIs considered for inclusion in later 6.x releases:

  • Qt Android Extras
  • Qt Mac Extras
  • Qt X11 Extras