首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从QGraphicsItems中的QGraphicsScene中过滤可见的QGraphicsView?

如何从QGraphicsItems中的QGraphicsScene中过滤可见的QGraphicsView?
EN

Stack Overflow用户
提问于 2015-08-10 19:57:33
回答 1查看 841关注 0票数 1

因此,如果我正确地理解了这一点,QGraphicsItem是(抽象的)图形项,它属于一个QGraphicsScene (基本上是场景管理器)。

QGraphicsView是该场景中特定的“视图”,多个视图可以查看同一场景。

如果我要在同一个场景中看到3个视图,其中一个视图是1-5/10项,另一个视图是5-10/10和第三视图,那么我需要有一个场景和三个视图,并使用某种过滤器来绘制哪些项目。这有可能吗?

如何筛选在特定的QGraphicsItems中显示的哪个QGraphicsView?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-10 20:12:05

这是不可能直接做,但相当容易使用视图场景(类似于视图模型)。

项目可见性是场景中不可或缺的一部分,而不是视图。这是有意义的:一旦你开始让场景改变项目属性,就永远没有一个理智的地方可以停下来。接下来,您想要移动项目,等等。因此,这在当前的设计中是不受支持的。

您可以拥有一个包含所有项目的原型场景,然后是具有您希望看到的项目副本的视图场景(视图模型)。这些项目很小,而且复制成本很低,所以即使在一个场景中有上千个项目,以这种方式实现它的成本也是很小的。只需制作一个工厂,复制您感兴趣的所有项目类型,并在原型场景中运行它们,忽略您希望不显示的项目。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31928064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档