在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。你想用它做什么? –