如何在Qt5中启用已弃用的函数

6

我想将一个Qt4程序移植到Qt5,但是一些函数未定义(例如QHeaderView :: setMoveable),但我在qheaderview.h文件中看到通过一些魔法定义(QT_DEPRECATED_SINCE)应该可以重新启用它们。 为了让QHeaderView :: setMovable重新出现,我需要做什么? 如果有像这样的方法,我希望重写我的代码。


1
你不需要重写你的代码,只需要用新的函数名替换旧的函数名。问题在哪里?这些已弃用的函数可能会在Qt的下一个版本中完全消失,那么你将怎么办呢? - vahancho
我称之为重写。只要Qt的生产者提供了调用已弃用函数的方法,并且我也希望保持与Qt4的兼容性(事实上,setMovable函数调用setSectionsMovable()而无需我在源代码中进行调整),我更喜欢这种解决方法。 - Leo
如果您想在一个大型项目中实现Qt4和Qt5的兼容性,这可能是过渡期内的一件好事,而且如果您想替换所有函数名称,那么最终将会产生一堆预处理器语句。如果您可以通过一个简单的.pro文件行来避免这种情况,那就太好了。 - galinette
1个回答

9
您可以在 .pro 文件中添加以下行:
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接