使用QGraphicsObject对QGraphicsItem的惩罚? [英] Penalty of using QGraphicsObject vs QGraphicsItem?

查看:27
本文介绍了使用QGraphicsObject对QGraphicsItem的惩罚?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前有一个基于QGraphicsItem的项目层次结构。

我想改为移动到QGraphicsObject,这样我就可以将属性放在我的项目上。我不会使用信号/插槽或QObject的任何其他功能。

我被告知不应该从QObject派生,因为它"重"且"慢"。

为了测试影响,我从QGraphicsObject派生,向我的项目添加了几个属性,并查看了正在运行的应用程序的内存使用情况。我使用这两种风格创建了1000个项目,我没有注意到任何超过10k的内存使用量。

既然我添加到我的项目上的都是属性,那么可以说QObject只在您使用信号/插槽时才增加重量吗?

推荐答案

我想这取决于你所说的重量是什么意思。如果您不担心所需的额外内存,也不担心QObject附带的所有额外方法和东西,这在您的情况下听起来像是行李,那么可以。

但是,如果您所需要的只是存储一些附加信息的方法,为什么不子类QGraphicsItem并添加一两个允许您存储必要数据的方法呢?通过这样做,我认为您将更好地传达代码的意图,这似乎比上面的所有内容都更重要。

这篇关于使用QGraphicsObject对QGraphicsItem的惩罚?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆