0

私は Qt Creator をほぼ 1 か月間使用しています。長い間悩まされていたので、これがばかげた質問ではないことを願っています。

私は達成したい:

    1. で多くの異なるアイテム (1 秒あたり 20 としましょう) を作成しQGraphicsSceneます。
    1. これらすべてのアイテムに対して 1 つのクラスを使用する
    1. これらすべてのアイテムをマークし、シグナルがトリガーされたときにそれらを削除または非表示にします。

多くの方法を試した後、私が見る最良の方法は を使用すること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は私が作成したアイテム クラスです。ループなので、ポインター名の変更方法がわからない*new_itemため、すべてのアイテムが同じ名前になります。)

4

1 に答える 1