[Development] How to fix TableView's API break?
ulf.hermann at qt.io
Mon Dec 19 08:47:20 CET 2022
> So, how to fix the above? One could easily fix the API break, but one is
> left with broken APIs all over the place. There's no straightforward
> deprecation mechanism for QML either, and we've dropped versioned includes.
We haven't actually dropped versioned imports. An unversioned import
just always imports the latest version. Versioned imports are somewhat
broken in subtle ways (as they have always been). Therefore we recommend
unversioned imports, but if there is a specific reason to use a
versioned import, you still can.
There is in fact a deprecation mechanism via the @Deprecated QML
annotation, but that is not public (yet), and it only works for
QML-defined types, not for C++-defined ones. It shouldn't be too hard to
add an analogous DEPRECATED property attribute and a Q_DEPRECATED method
attribute to moc. Or we might re-use the C++ attributes and macros. Not
in 6.4, though.
In the past we have just documented properties and methods as
\deprecated in qdoc and left it at that. For example, FileDialog has
some deprecated members.
More information about the Development