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

Use new QProperty throughout Qt

    XMLWordPrintable

    Details

    • Type: Epic
    • Status: In Progress
    • Priority: P1: Critical
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 6.1, 6.2
    • Component/s: Core: Object Model
    • Labels:
      None
    • Epic Name:
      Adopting bindable QProperty throughout Qt
    • Platform/s:
      All
    • Story Points:
      89
    • Sprint:
      Qt6_Foundation_ Sprint 13

      Description

      To understand the reason of the conversion check QTBUG-84909.

      The most important classes to be converted are:

      • QObject
      • QWindow
      • QQmlComponent
      • QQuickItem
      • QQuickWindow

      These are used really often in QML code, and failing to convert them
      would mean missing out on some huge opportunities to improve generated code.

      However, it is possible to use any QObject in QML. If the properties are not
      converted, using them in bindings will go the slow path. In particular,
      the classes with Q_PROPERTY below are available from modules commonly
      used with QtQuick in QML. Some of them are obviously more important than
      others. For example QIntValidator is inherited by QQuickIntValidator,
      and that one is registered as a QML type. QPluginLoader, while
      theoretically accessible, is not so easy to stumble over in QML.

      Furthermore, any additional module that exposes types to QML, should
      convert the public ones to QProperty before being released for the first
      time with a new major version. For example QtScxml should definitely
      convert QScxmlStateMachine and friends. Otherwise working with that in
      QML will be slow for all of Qt6. The same holds for the relevant classes
      in QtTest, and probably quite a few other modules.

      QML types which are only exported via QML (no public header) can be converted after the 6.0 release too as the property conversion is compatible to QML only users.

      • QtQml:
        • QJSEngine
        • QQmlEngine
        • QQmlComponent
      • QtQuick:
        • QQuickItemGrabResult
        • QQuickPaintedItem
        • QQuickWindow
        • QQuickFramebufferObject
        • QQuickView
        • QQuickItem

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              ablasche Alex Blasche
              Reporter:
              ablasche Alex Blasche
              PM Owner:
              Maurice Kalinowski Maurice Kalinowski
              RnD Owner:
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Dates

                Created:
                Updated:

                  Gerrit Reviews

                  There are no open Gerrit changes