如何将Qt中的某些内容标记为过时(已弃用)?

Ive*_*aev 12 c++ qt qt4 deprecated obsolete

使用Qt 4.7在C++中有Q_OBSOLETE或Q_DEPRECATED吗?

或者是否有类似的C++宏或关键字?

Tim*_*ton 42

如果您使用Q_DECL_DEPRECATED,您应该得到您正在寻找的结果,例如:

Q_DECL_DEPRECATED void foo();
Run Code Online (Sandbox Code Playgroud)


S.M*_*avi 0

2023 年:

是的,Qt 已为此目的定义QT_DEPRECATED了宏:QT_DEPRECATED_X

QT_DEPRECATED void myOldFunc();
QT_DEPRECATED_X("use myNewFunc instead") void myOldFunc2();
Run Code Online (Sandbox Code Playgroud)

区别只是短信。
C++14 也将[[deprecated("text")]]属性作为标准提供。如果您使用 C++ 14+,则似乎会在幕后使用此属性。