[Development] Making Q_OBJECT_COMPAT_PROPERTY public

Fabian Kosmale fabian.kosmale at qt.io
Mon Jun 10 16:37:41 CEST 2024


Hi Arno,

there has been no further development on making QObjectBindableProperty public,
or much work at all when it comes to extending bindable properties and their
usage inside Qt. The most substantial feature was an external contribution to
support QBindable from non-QProperty based properties, as long as they have a
change signal (https://doc.qt.io/qt-6/qbindable.html#QBindable-3).

The main reason why QObjectBindableProperty was never made public is that it is
rather easy to shoot oneself in the foot with it, as we discovered in quite a few
places inside Qt itself.

I think it might be a good idea to have a discussion at Contributor summit where
we can talk about the past, present and future of QProperty. I've added it to
this year's s program proposal (at
https://wiki.qt.io/Qt_Contributor_Summit_2024_-_Program)

Kind regards,
Fabian

________________________________________
Von: Development <development-bounces at qt-project.org> im Auftrag von Arno Rehn <a.rehn at menlosystems.com>
Gesendet: Montag, 10. Juni 2024 12:48
An: Qt development mailing list
Betreff: [Development] Making Q_OBJECT_COMPAT_PROPERTY public

Hey everyone,

in our codebase, we have a lot of property setters with side-effects.
We'd still like to introduce bindable properties - they're awesome!

However, QObjectBindableProperty/QProperty require trivial setters, so
that doesn't work for us. Qt uses Q_OBJECT_COMPAT_PROPERTY internally
for setters-with-side-effects, but that is private API as of now.

I've found notes from Qt CS 2021 indicating that this could be made
public in the future [0]. Has there been any development in this
direction? If not, is there anything that's blocking this?

Regards,
Arno

[0]: https://wiki.qt.io/QtCS2021_-_Qt_Property_Bindings

--
Arno Rehn
Principal Software Engineer
Tel +49 89 189 166 0
Fax +49 89 189 166 111
a.rehn at menlosystems.com
www.menlosystems.com

Menlo Systems GmbH
Bunsenstrasse 5, D-82152 Martinsried, Germany
Amtsgericht München HRB 138145
Geschäftsführung: Dr. Michael Mei, Dr. Ronald Holzwarth
USt.-IdNr. DE217772017, St.-Nr. 14316170324

--
Development mailing list
Development at qt-project.org
https://lists.qt-project.org/listinfo/development


More information about the Development mailing list