小编Sta*_*123的帖子

QT:将我的域对象基于QObject是一个好主意吗?

将QT框架与C++结合使用,我有点新鲜.我想知道:将我的域类基于QObject是一个好主意吗?或者我应该只对层次结构中更高级别的类执行此操作?(更接近用户界面级别).QT文档不清楚:

摘自QT文档:

元对象系统是C++扩展,使该语言更适合真正的组件GUI编程.

显然,我希望以一种结构良好的方式构建我的应用程序.在过去的几天里,我一直在浏览QT文档,以便找到这个问题的答案.我不想犯一些基本的错误,这会使我的申请永远跛行;-).

我已经查看了QObject和Qt对象模型的基本文档.我还发现一篇新鲜的文章有帮助,但并没有真正帮助我得出结论.令我困惑的是,QT本身在这个问题上似乎并不一致,因为并非所有QT类都使用QObject作为基类.

我看到使用QObject作为基类的优点:

  • 等级制度
  • 信号和插槽
  • 属性
  • 能够使用守卫指针
  • 国际化

但是,在我的大多数域类中,我不需要任何这些功能.对此有最佳实践规则吗?或者规则是:如果您需要上述任何一点,请使用它吗?

希望我没有让这太混乱:-)

c++ qt qobject

9
推荐指数
1
解决办法
910
查看次数

使用QT和MinGW32在Windows上进行内存泄漏检查

最近我用QT Creator开发了C++.一切都很好,我几乎正在打包和分发我的应用程序.但显然在任何发布之前,你最好确保一切正确.所以我正处于测试阶段,有些东西告诉我,我有一些轻微的内存问题.没什么大不了的,但我喜欢这些; ...).

所以我决定尝试一些内存泄漏检测库.对于初学者,我看了这个问题.由于费用原因,我无视Purify和Insure ++.其他人建议使用MSVC编译器,以便我可以使用CRT内存验证例程.我考虑过但现在决定反对,因为它会对在QT Creator中使用调试器产生影响.

然后我偶然发现了DUMA,我使用QT附带的MinGW32编译器进行编译.然而,我发现由于令人难以置信的分段错误,它在QT中并不能很好地发挥作用.我知道他们是DUMA的工作方式,但我很确定我没有像DUMA试图让我相信的那样搞砸了.

我尝试的另一件事是谷歌性能工具,我很遗憾无法使用QT提供的MinGW32版本进行编译,即使我添加了所需的依赖项.

所有这些都让我想到了一个问题:QT Creator开发人员是否有任何可行的解决方案想要检查他们的程序是否存在内存泄漏?

谢谢,

c++ heap qt mingw32

9
推荐指数
2
解决办法
5534
查看次数

标签 统计

c++ ×2

qt ×2

heap ×1

mingw32 ×1

qobject ×1