I agree on attempting to find a solution in Qt 6.x, but I don't think an
application-wide setting is the solution. That would apply application-wide to
third-party widgets, which may then look broken because they were using
AutoText.

We may want to look at #define defaults instead.

A #define won't do either if the labels etc are initialized in QML.

In addition, we need per-version profiles. People will want to say "I need to be compatible with Qt 6.14, but I want to adopt all best practices up to that".

In the QML language we have a similar problem: Some functionality added in the past turned out to be a bad idea but can't easily be changed anymore. For example, we would really like to limit components to be instantiated only in the context they're declared in as otherwise you can get really surprising effects. Yet, Hyrum's law says there is someone relying on exactly these effects. We've invented a number of QML pragmas to allow you to at least opt into the desired behavior as we've identified shortcomings. What is still missing is a way to say "Enable all the good behavior identified by version X", something like https://qt-project.atlassian.net/browse/QTBUG-30069?focusedCommentId=2138175 (the comment talks about compilability to C++, but compilability usually overlaps with general predictability of the code)

Any solution to this may be repurposed to communicate the security/compatibility profile to instances of C++ classes created by QML.

best regards,
Ulf
--
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to