New Features in Qt 5.10: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(14 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[[Category:Developing with Qt::Qt 5]]
[[Category:Developing with Qt::Qt 5]]
[[Category:Release]]
[[Category:Release]]
Note: This page is work in progress and should not be considered as final list of Qt 5.10 features before the beta release.
'''New Features (within existing modules)'''  
 
'''New Features (within existing modules)'''
* Qt Core
* Qt Core
** Added rudimentary implementation of QStringView. It is missing some (important) const-QString functions, but is fully functional as an interface type. To be completed for Qt 5.11.
** Added rudimentary implementation of QStringView. It is missing some (important) const-QString functions, but is fully functional as an interface type. To be completed for Qt 5.11.
Line 9: Line 7:
** Added QIODevice::skip() to improve performance in read operations.
** Added QIODevice::skip() to improve performance in read operations.
** Explicitly little and big-endian integer types exposed (for instance qint16_le, quint32_be) for machine-independent data-type parsing.
** Explicitly little and big-endian integer types exposed (for instance qint16_le, quint32_be) for machine-independent data-type parsing.
** Added QRandomGenerator providing a simple API for high-quality (optionally seed-less) random numbers.
** Added accessors for metadata time fields of files to QFileInfo.
** Added QSemaphoreReleaser a RAII-style class for QSemaphore.
** Added QKeyValueIterator for more efficient iteration over keys of an associative container
* Qt GUI
* Qt GUI
** Added cross-platform Vulkan enablers for Windows, Linux (xcb) and Android (level 23+): QVulkanInstance, QWindow with type VulkanSurface, and QVulkanWindow
** Added cross-platform Vulkan enablers for Windows, Linux (xcb) and Android (level 23+): QVulkanInstance, QWindow with type VulkanSurface, and QVulkanWindow
Line 29: Line 31:
** OpenSSL 1.1 back-end.
** OpenSSL 1.1 back-end.
** Persistent store of HSTS policies in QNAM (QSettings-based).
** Persistent store of HSTS policies in QNAM (QSettings-based).
** Implemted the h2c procotol upgrade used by non-SSL HTTP/2.
** Implemented the h2c procotol upgrade used by non-SSL HTTP/2.
* Qt QML
** Added support for enum declarations in QML.
** Added support for retranslation.
* Qt Quick
* Qt Quick
** Added a shapes plugin, providing a Shape type under QtQuick.Shapes 1.0. This allows adding stroked and filled paths into Qt Quick scenes. Such shapes are rendered either by generating geometry or by using the GL_NV_path_rendering extension.
** Added a shapes plugin, providing a Shape type under QtQuick.Shapes 1.0. This allows adding stroked and filled paths into Qt Quick scenes. Such shapes are rendered either by generating geometry or by using the GL_NV_path_rendering extension.
Line 43: Line 48:
*** the Imagine style is based on image assets that can be provided using a predefined naming convention
*** the Imagine style is based on image assets that can be provided using a predefined naming convention
** Added support for:
** Added support for:
*** actions and actions in buttons, delegates, and menus
*** actions and icons in buttons, delegates, and menus
*** exclusive button groups
*** non-exclusive button groups
*** nested menus, and cascading sub-menus
*** nested menus, and cascading sub-menus
*** wrapping spinboxes
*** wrapping spinboxes
*** propagating palettes (only Fusion & Imagine styles for now, others coming later)
*** propagating palettes (only Default, Fusion & Imagine styles for now, others coming later)
*** specifying the default font and palette in qtquickcontrols2.conf
*** specifying the default font and palette in qtquickcontrols2.conf
*** preliminary support for mnemonics in MenuItem (only shortcut functionality, not yet visualized)
*** mnemonics in buttons, menus and menubars
** Added new members:
** Added new members:
*** TabBar::index, tabBar, and position attached properties:
*** TabBar::index, tabBar, and position attached properties:
Line 69: Line 74:
*** Made Material style DialogButtonBox use the Android button layout
*** Made Material style DialogButtonBox use the Android button layout
*** Made Default style Slider and RangeSlider visually indicate the progress/range
*** Made Default style Slider and RangeSlider visually indicate the progress/range
* Qt 3D
** Tech Preview of Skeletal Animation system
** Animation clocks: Control playback speed of one or more animators from a clock
** Framebuffer blit frame graph node
** Proximity filter frame graph node
** Improved layer filtering frame graph node
** Shader graphs: dynamically generate fragment shaders from graph based description
** Sprite sheet support
** Point and line picking support
** Camera viewAll command
** Optional SIMD support
** Scene2D: Embed Qt Quick content into Qt 3D and interact with it
* Qt Graphical Effects
* Qt Graphical Effects
** The effects are now functional also in core profile OpenGL contexts.
** The effects are now functional also in core profile OpenGL contexts.
* Qt WebEngine
* Qt WebEngine
** Updated to be based on Chromium 60
** Updated to Chromium 61.
** Pause/resume added to download items
** Pause/resume added to download items.
** Settings for blocking javascript focus
** Added settings for allowing window activation from JavaScript.
** Settings for hiding scrollbars
** Added settings for hiding scrollbars.
** More WebActions that used to be in QWebPage added to QWebEnginePage
** More WebActions that used to be in QWebPage added to QWebEnginePage.
** QWebEnginePage::download added for triggering downloads using QtWebEngine
** New method QWebEnginePage::download for starting downloads programmatically.
* Qt Serial Bus
* Qt Serial Bus
** Added local echo flag to QCanBusFrame to mark frames that are sent from the local system to the CAN bus.
** Added local echo flag to QCanBusFrame to mark frames that are sent from the local system to the CAN bus.
Line 100: Line 117:
** Device images updated to Yocto 2.3 (pyro)
** Device images updated to Yocto 2.3 (pyro)
'''New Modules'''
'''New Modules'''
* Qt Network Authentication - Provides support for OAuth1 & OAuth2
* Qt Network Auth - Provides support for OAuth1 & OAuth2
* Qt Speech - Supports text-to-speech
* Qt Speech - Supports text-to-speech
'''Platform Changes'''
'''Platform Changes'''

Latest revision as of 17:43, 7 December 2017

New Features (within existing modules)

  • Qt Core
    • Added rudimentary implementation of QStringView. It is missing some (important) const-QString functions, but is fully functional as an interface type. To be completed for Qt 5.11.
    • Added many more functions to QLatin1String, too, co-evolving QLatin1String as the const char*-Latin-1-version of QStringView.
    • Added QIODevice::skip() to improve performance in read operations.
    • Explicitly little and big-endian integer types exposed (for instance qint16_le, quint32_be) for machine-independent data-type parsing.
    • Added QRandomGenerator providing a simple API for high-quality (optionally seed-less) random numbers.
    • Added accessors for metadata time fields of files to QFileInfo.
    • Added QSemaphoreReleaser a RAII-style class for QSemaphore.
    • Added QKeyValueIterator for more efficient iteration over keys of an associative container
  • Qt GUI
    • Added cross-platform Vulkan enablers for Windows, Linux (xcb) and Android (level 23+): QVulkanInstance, QWindow with type VulkanSurface, and QVulkanWindow
    • Added new flags and functions to QSurfaceFormat and QOpenGLWidget to request sRGB-capable default/backing framebuffers
    • The OpenGL ES 3.2 API is now exposed in a cross-platform manner via QOpenGLExtraFunctions.
    • QImages can now use more than 2GByte of pixel data.
    • Added QFont::PreferNoShaping style strategy.
  • Qt Widgets
    • QWidget::createWindowContainer() is now functional on Android
    • QOpenGLWidget is now usable for rendering and reading back (grabbing) offscreen content.
    • Added AA_DisableWindowContextHelpButton attribute that prevents the automatic" What's this" button on dialogs on Windows
    • Added tabStopDistance property in QTextOption, QTextEdit and QPlainTextEdit
    • Added selectionEnd(), selectionLength() to QLineEdit, complementing selectionStart()
    • Added setDoubleStep to QInputDialog, to enable changing of the step amount for getDouble()
    • Added isPersistentEditorOpen() to QAbstractItemView, QTreeWidget, QTableWidget and QListWidget
    • Added new style hint: SH_TitleBar_ShowToolTipsOnButtons
    • Added support for specifying custom internal texture formats in QOpenGLWidget
    • QDockWidget acquired the ability to be dropped together side by side
  • Qt Network
    • OpenSSL 1.1 back-end.
    • Persistent store of HSTS policies in QNAM (QSettings-based).
    • Implemented the h2c procotol upgrade used by non-SSL HTTP/2.
  • Qt QML
    • Added support for enum declarations in QML.
    • Added support for retranslation.
  • Qt Quick
    • Added a shapes plugin, providing a Shape type under QtQuick.Shapes 1.0. This allows adding stroked and filled paths into Qt Quick scenes. Such shapes are rendered either by generating geometry or by using the GL_NV_path_rendering extension.
    • Added the Qt.labs.handlers plugin, providing TapHandler, PinchHandler and DragHandler. These are the beginnings of the Pointer Handlers which we have been talking about for some time: lightweight objects for handling events from the mouse or the touchscreen in a device-agnostic way.
    • QQuickItem layers can now request to be backed by multisample framebuffers via the property layer.samples
    • Added font.kerning and font.preferShaping properties for advanced control over the font shaping subsystem.
    • Added advance property to Text to retrieve the typographical advance width.
    • Added Image element support for direct loading of ETC1 and ETC2 compressed textures from .pkm files. (on platforms where ETC1/2 are supported)
  • Qt Quick Controls 2
    • Introduced new QML types: Action, ActionGroup, MenuBar
    • Introduced new styles:
      • the Fusion style offers a platform agnostic desktop-oriented look'n'feel
      • the Imagine style is based on image assets that can be provided using a predefined naming convention
    • Added support for:
      • actions and icons in buttons, delegates, and menus
      • non-exclusive button groups
      • nested menus, and cascading sub-menus
      • wrapping spinboxes
      • propagating palettes (only Default, Fusion & Imagine styles for now, others coming later)
      • specifying the default font and palette in qtquickcontrols2.conf
      • mnemonics in buttons, menus and menubars
    • Added new members:
      • TabBar::index, tabBar, and position attached properties:
      • Dialog::applied(), reset(), discarded(), and helpRequested() signals
      • Dialog::standardButton() method
      • StackView::empty property
      • Menu::popup() and dismiss() methods
      • Menu::actionAt(), addAction(), insertAction(), removeAction(), and takeAction() methods
      • Menu::menuAt(), addMenu(), insertMenu(), removeMenu(), and takeMenu() methods
      • Menu::count and currentIndex properties
      • MenuItem::menu property
      • Container::removeItem(Item) and takeItem(int) methods (TabBar and SwipeView)
      • Popup::enabled, mirrored, and opened properties
      • "horizontal" and "vertical" properties to all controls that had an "orientation" property: RangeSlider, Slider, ScrollBar, ScrollIndicator, SwipeView
    • Other improvements:
      • Added support for specifying a transition for StackView::clear()
      • Made ApplicationWindow::activeFocusControl work with a plain Window
      • Made background dimming for popups work without ApplicationWindow
      • Made Material style DialogButtonBox use the Android button layout
      • Made Default style Slider and RangeSlider visually indicate the progress/range
  • Qt 3D
    • Tech Preview of Skeletal Animation system
    • Animation clocks: Control playback speed of one or more animators from a clock
    • Framebuffer blit frame graph node
    • Proximity filter frame graph node
    • Improved layer filtering frame graph node
    • Shader graphs: dynamically generate fragment shaders from graph based description
    • Sprite sheet support
    • Point and line picking support
    • Camera viewAll command
    • Optional SIMD support
    • Scene2D: Embed Qt Quick content into Qt 3D and interact with it
  • Qt Graphical Effects
    • The effects are now functional also in core profile OpenGL contexts.
  • Qt WebEngine
    • Updated to Chromium 61.
    • Pause/resume added to download items.
    • Added settings for allowing window activation from JavaScript.
    • Added settings for hiding scrollbars.
    • More WebActions that used to be in QWebPage added to QWebEnginePage.
    • New method QWebEnginePage::download for starting downloads programmatically.
  • Qt Serial Bus
    • Added local echo flag to QCanBusFrame to mark frames that are sent from the local system to the CAN bus.
  • Qt Connectivity
    • The UWP bluetooth and BLE backends can now be used on desktop Windows (>= 10) too.
  • Qt Virtual Keyboard
    • Added the following keyboard layouts: Hebrew, Serbian, Hungarian, Czech, Croatian, Bulgarian, Greek, Estonian, and Dutch.
    • Added handwriting support for Farsi, Arabic, and CJK (Chinese/Japanese/Korean).
    • Added new component (InputModeKey) for input mode switch.
    • OpenWNN:
      • Fixed crash when pressing the space after entering a smiley.
      • Fixed and optimized OpenWNN engine
  • Qt X11 Extras
    • Added new peekEventQueue() API to peek into the XCB event queue. This enables porting certain Qt4-based applications to Qt5 (those using Xlib's event handling functions to peek into the X11 event queue).
  • Emulator
    • Support multiple screens
    • Plugin support
    • Device mockups are QML based
  • Device Creation / Boot2Qt
    • Device images updated to Yocto 2.3 (pyro)

New Modules

  • Qt Network Auth - Provides support for OAuth1 & OAuth2
  • Qt Speech - Supports text-to-speech

Platform Changes

  • Jira tracking for 5.10 changes:

Technology Preview Modules

  • Qt Remote Objects (TP2) - A module that allows you to easily share QObject interfaces (Signals/Slots/Properties) between processes or devices.
  • Qt WebGL Streaming Plugin - Stream applications to browsers over the network

Deprecated Modules

The following modules are part of Qt 5.10 release, but deprecated and considered for removal in subsequent releases of Qt:

  • Qt Script

Configurations

Release Information [edit]
Qt Version Overview Tools and Versions New Features Changes Known Issues
Qt 6.8 Qt 6.8 Release Qt 6.8 Tools and Versions New Features in Qt 6.8 Qt 6.8.0 Release Note Qt 6.8 Known Issues
Qt 6.7 Qt 6.7 Release Qt 6.7 Tools and Versions New Features in Qt 6.7 Qt 6.7.0 Release Note

Qt 6.7.1 Release NoteQt 6.7.2 Release Note

Qt 6.7 Known Issues
Qt 6.6 Qt 6.6 Release Qt 6.6 Tools and Versions New Features in Qt 6.6 Qt 6.6.0 Release NoteQt 6.6.1 Release NoteQt 6.6.2 ReleaseQt 6.6.3 Release Qt 6.6 Known Issues
Qt 6.5 Qt 6.5 Release Qt 6.5 Tools and Versions New Features in Qt 6.5 Qt 6.5.0 Release NoteQt 6.5.1 Release NoteQt 6.5.2 Release NoteQt 6.5.3 Release Note Qt 6.5 Known Issues
Qt 6.4 Qt 6.4 Release Qt 6.4 Tools and Versions New Features in Qt 6.4 Qt 6.4.0 Release NoteQt 6.4.1 Release NoteQt 6.4.2 Release NoteQt 6.4.3 Release Note Qt 6.4 Known Issues
Qt 6.3 Qt 6.3 Release Qt 6.3 Tools and Versions New Features in Qt 6.3 Qt 6.3.0 Release NoteQt 6.3.1 Release Note Qt 6.3 Known Issues
Qt 6.2 Qt 6.2 Release Qt 6.2 Tools and Versions New Features in Qt 6.2 Qt 6.2.0 Release NoteQt 6.2.1 Release NoteQt 6.2.2 Release Note Qt 6.2 Known Issues
Qt 6.1 Qt 6.1 Release Qt 6.1 Tools and Versions New Features in Qt 6.1 Qt 6.1.0 Release NoteQt 6.1.1 Release NoteQt 6.1.2 Release NoteQt 6.1.3 Release Note Qt 6.1.0 Known IssuesQt 6.1.1 Known issues in release noteQt 6.1.2 Known issues in release noteQt 6.1.3 Known issues in release note
Qt 6.0 Qt 6.0 Release Qt 6.0 Tools and Versions New Features in Qt 6.0 Qt 6.0.0 Change FilesQt 6.0.1 Release NoteQt 6.0.2 Release NoteQt 6.0.3 Release NoteQt 6.0.4 Release Note Qt 6.0.0 Known IssuesQt 6.0.1 Known IssuesQt 6.0.2 Known IssuesQt 6.0.3 Known IssuesQt 6.0.4 Known Issues
Qt 5.15 Qt 5.15 Release Qt 5.15 Tools and Versions New Features in Qt 5.15 Qt 5.15.0 Change FilesQt 5.15.1 Change FilesQt 5.15.2 Change Files Qt 5.15.0 Known IssuesQt 5.15.1 Known IssuesQt 5.15.2 Known IssuesQt 5.15.4 Known Issues
Qt 5.14 Qt 5.14 Release Qt 5.14 Tools and Versions New Features in Qt 5.14 Qt 5.14.0 Change FilesQt 5.14.1 Change FilesQt 5.14.2 Change Files Qt 5.14.0 Known IssuesQt 5.14.1 Known IssuesQt 5.14.2 Known Issues
Qt 5.13 Qt 5.13 Release Qt 5.13 Tools and Versions New Features in Qt 5.13 Qt 5.13.0 Change FilesQt 5.13.1 Change FilesQt 5.13.2 Change Files Qt 5.13.0 Known IssuesQt 5.13.1 Known IssuesQt 5.13.2 Known Issues
Qt 5.12 Qt 5.12 Release Qt 5.12 Tools and Versions New Features in Qt 5.12 Qt 5.12.0 Change FilesQt 5.12.1 Change FilesQt 5.12.2 Change FilesQt 5.12.3 Change FilesQt 5.12.4 Change FilesQt 5.12.5 Change FilesQt 5.12.6 Change FilesQt 5.12.7 Change FilesQt 5.12.8 Change FilesQt 5.12.9 Change FilesQt 5.12.10 Change FilesQt 5.12.11 Release NoteQt 5.12.12 Release Note Qt 5.12.0 Known IssuesQt 5.12.1 Known IssuesQt 5.12.2 Known IssuesQt 5.12.3 Known IssuesQt 5.12.4 Known IssuesQt 5.12.5 Known IssuesQt 5.12.6 Known IssuesQt 5.12.7 Known IssuesQt 5.12.8 Known IssuesQt 5.12.9 Known IssuesQt 5.12.10 Known IssuesQt 5.12.11 Known issues in release noteQt 5.12.12 Known issues in release note
Qt 5.11 Qt 5.11 Release Qt 5.11 Tools and Versions New Features in Qt 5.11 Qt 5.11.0Qt 5.11.1Qt 5.11.2 Change FilesQt 5.11.3 Change Files Qt 5.11.0Qt 5.11.1Qt 5.11.2 Known IssuesQt 5.11.3 Known Issues
Qt 5.10 Qt 5.10 Release Qt 5.10 Tools and Versions New Features in Qt 5.10 Qt 5.10.0Qt 5.10.1 Change Files Qt 5.10.0Qt 5.10.1 Known Issues
Qt 5.9 Qt 5.9 Release Qt 5.9 Tools and Versions New Features in Qt 5.9 Qt 5.9.0Qt 5.9.1Qt 5.9.2Qt 5.9.3Qt 5.9.4Qt 5.9.5Qt 5.9.6 Change FilesQt 5.9.7 Change FilesQt 5.9.8 Change FilesQt 5.9.9 Change Files Qt 5.9.0Qt 5.9.1Qt 5.9.2Qt 5.9.3Qt 5.9.4Qt 5.9.5Qt 5.9.6 Known IssuesQt 5.9.7 Known IssuesQt 5.9.8 Known IssuesQt 5.9.9 Known Issues
Qt 5.8 Qt 5.8 Release Qt 5.8 Tools and Versions New Features in Qt 5.8 Qt 5.8.0 Change Files Qt 5.8.0 Known Issues
Qt 5.7 Qt 5.7 Release Qt 5.7 Tools and Versions New Features in Qt 5.7 Qt 5.7.0Qt 5.7.1 Change Files Qt 5.7.0Qt 5.7.1 Known Issues
Qt 5.6 Qt 5.6 Release Qt 5.6 Tools and Versions New Features in Qt 5.6 Qt 5.6.0Qt 5.6.1Qt 5.6.2Qt 5.6.3 Change Files Qt 5.6.0Qt 5.6.1Qt 5.6.2Qt 5.6.3 Known Issues
Qt 5.5 Qt 5.5 Release Qt 5.5 Tools and Versions New Features in Qt 5.5 Qt 5.5.0Qt 5.5.1 Change Files Qt 5.5.0Qt 5.5.1 Known Issues
Qt 5.4 Qt 5.4 Release Qt 5.4 Tools and Versions New Features in Qt 5.4 Qt 5.4.0Qt 5.4.1Qt 5.4.2 Change Files Qt 5.4.0Qt 5.4.1Qt 5.4.2 Known Issues
Qt 5.3 Qt 5.3 Release Qt 5.3 Tools and Versions New Features in Qt 5.3 Qt 5.3.0Qt 5.3.1Qt 5.3.2 Change Files Qt 5.3.0 Beta 1Qt 5.3.0 RC 1
Qt 5.3.0Qt 5.3.1Qt 5.3.2 Known Issues
Qt 5.2 Qt 5.2 Release New Features in Qt 5.2 Qt 5.2.0Qt 5.2.1 Change Files Qt 5.2.0 Beta 1Qt 5.2.0 RC 1
Qt 5.2.0Qt 5.2.1 Known Issues
Qt 5.1 Qt 5.1 Release New Features in Qt 5.1 Qt 5.1.0 Change Files Qt 5.1.0 Beta 1Qt 5.1.0 RC 1
Qt 5.1.0Qt 5.1.1 Known Issues
Qt 5.0 Qt 5.0.0Qt 5.0.1 Release New Features in Qt 5.0 Qt 5.0 Changes Qt 5.0.0 Beta 1Qt 5.0.0 Beta 2Qt 5.0.0 RC 1Qt 5.0.0 RC 2
Qt 5.0.0Qt 5.0.1Qt 5.0.2 Known Issues