[Development] On deprecating functions

Christian Ehrlicher Ch.Ehrlicher at gmx.de
Mon Mar 4 17:51:08 CET 2019


I recently introduced some new signals (Q(Double)SpinBox::textChanged, 
QComboBox::textActivated) as replacements for old ones to be able to 
avoid the use of QOverload<>::of in Qt6 and to better match their 
respective properties.
Within those changes I also marked the old signals as deprecated with 
QT_DEPRECATED so the developer gets an information to no longer use this 
function in new code.
This lead to a lot of warnings in old code which needs to be compiled 
with 5.9 and 5.12 (e.g. in QtCreator) which can't be fixed because there 
the new function is not yet available. It was requested to remove the 
QT_DEPRECATED decoration until e.g. 5.15. but I think then it's too 
later to be able to remove them with Qt6.
See https://codereview.qt-project.org/252208 for the discussion and a 
possible solution here: https://codereview.qt-project.org/#/c/254909/

So what's the correct way to deprecate a function and not forgetting 
about QT_DEPRECATED later on as it happened with a lot of functions 
during Qt4 times?


More information about the Development mailing list