我已经使用 Qt Creator 快一个月了。我希望这不是一个愚蠢的问题,因为它困扰了我很长时间。
我想实现:
- 中创建许多不同的项目(假设每秒 20 个)
QGraphicsScene
。
- 中创建许多不同的项目(假设每秒 20 个)
- 对所有这些项目使用一个类
- 标记所有这些项目,在触发信号时删除或隐藏它们。
在尝试了很多方法之后,我看到的最好的方法是使用QGraphicsItemGroup
. 我试图将它们全部分组到一个QGraphicsItemGroup
. 但是在将一个项目添加到一个组后,无论我从库中使用什么功能,该项目都不再显示在场景中。
我在使用中做错了QGraphicsItemGroup
什么吗?或者还有其他更好的方法吗?
期待任何人的帮助。非常感谢。
以下是我的代码结构:
// ......
QGraphicsItemGroup *myItemsGroup = new QGraphicsItemGroup
timer->start(100);
connect(timer,SIGNAL(timeout()),this,SLOT(draw_trail()));
// ......
void MyFunction::draw_trail()
{
Trail_item *new_item = new Trail_item;
scene->addItem(new_item);
new_item->setX(COPX-7);
new_item->setY(COPY-7);
new_item->setZValue(5);
/*
then I started trying add to group
//myItemsGroup->addToGroup(new_item)
after adding this line, the item vanishes.
*/
}
(注:trail_item
是我创建的一个item类。由于是循环,我不知道如何更改*new_item
指针名称,所以所有item都具有相同的名称。)