Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-71036

Qt Core Changes in Qt 6



    • Epic Name:


      This epic captures the work planned in QtCore for Qt 6, with the individual user stories and subtasks documenting the details.

      The overall goal for QtCore in Qt 6 is to

      • general cleanup
        • get rid of legacy an deprecated code
        • remove 3rd party components
        • review and remove static variables
      • increase consistency and compatibility with the C++ standard library in containers and value types
        • consistently use View classes in Qt APIs
        • API overloads for ranges
        • be UTF-8 friendly
      • streamline the Qt object model and type system
        • remove duplications and special case handling (such as QML-specific code paths, QVariant/QMetaType)
        • optimisations in signal emissions
      • cleaner abstractions for I/O and similar operating system services
        • Investigate a QIODevice redesign
        • Investigate a "QPA for OS services"


      Get rid of some third-party components:

      • Get rid of legacy Text Codecs (EUC-JP, EUC-KR, GBK, JIS, Shift-JIS, TSCII, Big5, Big5-HKSCS)
      • Get rid of copy of Public Suffix List / QUrl::topLevelDomain

      Unify QList and QVector (QList as an alias to QVector)

      Better STL compatibility

      • using QPair = std:pair
      • use std::unordered_map and std::map for QHash and QMap?
      • consider std::byte

      Revisit QObject, signals, slots and properties

      new meta type system

      • Generate more of the data at compile time
      • What do we do with QVariant and implicit conversions?

      Get rid of QRegExp

      • evaluate C++11 support for regular expressions: QTBUG-80050

      Move Text codecs into a separate library

      Revisit Multithreading Technologies in Qt?

      Make QDir and friends consistent about their handling of absolute/relative for MS-paths; this may involve some compatibility breakage. The core of the problem is that QFileSystemEntry isn't consistent with itself.

      Investigate faster implementation of QStateMachine based on SCXML state machine implementation. Also remove the childMode property on the QStateMachine (see the comment in the constructor). The class should be moved into its own module.


          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.



              • Assignee:
                thiago Thiago Macieira
                kkohne Kai Köhne
                PM Owner:
                Santtu Ahonen
                RnD Owner:
                Volker Hilsheimer
              • Votes:
                0 Vote for this issue
                31 Start watching this issue


                • Created:

                  Time Tracking

                  Original Estimate - 12 weeks
                  Remaining Estimate - 12 weeks
                  Time Spent - Not Specified
                  Not Specified

                    Gerrit Reviews

                    There are no open Gerrit changes