gpt4 book ai didi

c++ - QGraphicsScene 类似 removeAt() 和 insert() 函数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:31:57 26 4
gpt4 key购买 nike

我有一个 QGraphicsScene,其中项目的顺序非常重要。我想在项目列表中的某个索引处添加项目(即调用 items() 时返回的列表)。

我知道 QList 有 removeAt()insert() 函数,但是 QGraphicsScene 有类似的东西吗,比如 addItemAt() 之类的所有这些线?如果没有,有人知道解决这个问题的好方法吗?

最佳答案

没有在插入时指定顺序的选项。默认情况下,最近添加的项目将显示在顶部。

在将兄弟项目(具有相同父项的项目)添加到场景后,您有两个选项来确定它们的堆叠顺序。

  1. 指定 Z 值。

  2. 更改插入顺序(适用于具有相同 Z 值的项目)。

如果您希望按 Z 值排列,则需要为您的项目分配特定的 Z 值,并在使用 QGraphicsItem::setZValue() 添加新项目时根据需要重新分配它们。 .

或者,您可以通过调用 QGraphicsItem::stackBefore() 更改项目的插入顺序.

关于c++ - QGraphicsScene 类似 removeAt() 和 insert() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11026671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com