2014-09-02 227 views
2

我想將Qt4程序移植到Qt5並且未定義某些函數(例如QHeaderView :: setMoveable),但是我在qheaderview.h文件中看到使用一些magic定義(QT_DEPRECATED_SINCE)應該可以重新啓用它們。 爲了讓QHeaderView :: setMovable重新出現,我必須做些什麼?我做不是想要重寫我的代碼,如果有這樣的方式。如何在Qt5中啓用不推薦使用的函數

+1

你並不需要重寫代碼,而只是更換新的舊的函數名。什麼問題?這些被棄用的函數可能在Qt的下一個版本中完全消失,那麼你會怎麼做? – vahancho 2014-09-02 12:06:05

+0

我稱之爲重寫。只要Qt的生產者提供了一種方法來調用已棄用的函數,並且我想與Qt4保持兼容(事實上setMovable函數調用了setSectionsMovable(),而不需要我在源代碼中進行調整),我更喜歡這個解決方法 – Leo 2014-09-02 15:34:31

+0

如果您希望在大型項目中兼容Qt4和Qt5,這對於過渡期來說可能是件好事,並且如果要替換所有函數名稱,則會以大量預處理器語句結束。如果你可以通過一個簡單的.pro行來避免這種情況,那很好。 – galinette 2015-03-13 14:01:14

回答

4

您可以添加到您的.pro文件以下行:

DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 
相關問題