[Development] Issues with QFormBuilder - All properties modified & Invalid UI

Jaroslaw Kobus Jaroslaw.Kobus at qt.io
Tue Oct 29 10:56:49 CET 2019


> I'm not really convinced of this. Properties that depend on each other
> are a symptom of bad design; we shouldn't discourage QFormBuilder
> because of this possible marginal issue.

I agree in 100%! However, hundreds of QObject / QWidget properties
(and those in their subclasses) in fact depend on each other and are not
orthogonal. That's why the code for QDesigner is full of "special cases" - I estimate it's 90% of the code base.
So the right way to fix it is to go through all QObject properties
+ the whole hierarchy and detect all non-orthogonal cases and fix all of them.
A huge work! However, as the result we would get a really robust object system.

As a side note - in theory, the metaobject system may be designed in a way
that it detects non-orthogonal properties automatically. Also a huge work.

Jarek

________________________________________
From: Development <development-bounces at qt-project.org> on behalf of Giuseppe D'Angelo via Development <development at qt-project.org>
Sent: Tuesday, October 29, 2019 10:23 AM
To: development at qt-project.org
Subject: Re: [Development] Issues with QFormBuilder - All properties modified & Invalid UI

Il 29/10/19 08:25, Friedemann Kleint ha scritto:
>   > It is for sure a bug, so please report it. I'm not sure how much love
> the widgets designer gets these days, though.
>
> As explained before, it cannot be guaranteed that changing all
> properties in random order works in Widgets.

I'm not really convinced of this. Properties that depend on each other
are a symptom of bad design; we shouldn't discourage QFormBuilder
because of this possible marginal issue.

My 2 c,
--
Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer
KDAB (France) S.A.S., a KDAB Group company
Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com
KDAB - The Qt, C++ and OpenGL Experts



More information about the Development mailing list