在Qt中使用未記錄的QObjectUserData
類別和QObject::setUserData
是否安全?關於在Qt中使用未公開的類別
9
A
回答
15
相反,你可以看看使用QObject::setProperty
,這使您不僅可以設置編譯時聲明的屬性,而且還可以設置動態屬性,這些屬性在使用前不需要聲明。這允許您在運行時將任意值附加到QObject,類似於用戶數據。
9
一般而言,您不應該依賴未記錄的API。如果你打算升級Qt,那就不要使用它!
4
未記錄類通常是內部類而不是Qt API的一部分。這意味着,不保證API不會改變,或者在下一個Qt版本中完全刪除該類。例如,qobject_p.h包含以下警告:
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
// file may change from version to version without notice, or even be removed.
//
// We mean it.
所以如果你使用的內部API,你對你自己的,並有可能修復/重新實現切換到下一個版本的Qt時不管你在做。
相關問題
- 1. 在Mac App Store中使用未公開的類,例如NSPreferences
- 2. 的「關於」對使用Qt
- 3. 關於在公共類
- 4. 公開基於模板的容器類到Qt腳本引擎?
- 5. 關於在QT
- 6. 公開QTimer。 (Qt,C++)
- 7. 在Qt中切換開關
- 8. 使用的數據類型布爾用於發佈和mysql的未公開
- 9. 使用未公開收件人:;在Swiftmailer
- 10. 公開類別的不同視圖
- 11. 使用未公開的iPhone SDK功能?
- 12. 關於類別的問題
- 13. Windows Mobile中的非關閉關閉按鈕(使用Qt開發)
- 14. WCF服務未公開的類型
- 15. WebService上未公開的屬性和類
- 16. 類型別名的開關類型開關
- 17. 如何在Mac Qt App中找到非公開API的用法
- 18. 基於抽象類公開WCF子類
- 19. TabLayout.Tab的getCustomView()在Design Library中未公開
- 20. 在rails中使用Ransack進行搜索公司和相關類別
- 21. 如何刪除關於在Qt中使用scanf的警告? d:
- 22. 關於BLUR未開火
- 23. 引用類的基類函數未在其他項目中公開
- 24. 使用開關的子類?
- 25. 公開使用的私有類
- 26. 開始OOP關於使用類的類的問題
- 27. Perforce公司相當於SVN開關
- 28. 過濾器公司基於類別
- 29. 使用Qt中的StackedLayout類
- 30. 使用Qt中的按鈕打開可關閉的標籤
它似乎是Qt 4.2的殘餘?我建議使用更新版本的Qt,比如4.7。你想用它做什麼? –