gpt4 book ai didi

c++ - Qt QGraphicsItemGroup 获取转换项目的坐标

转载 作者:行者123 更新时间:2023-11-28 06:52:33 24 4
gpt4 key购买 nike

我有很多rectItem在一个

QVector <GraphicsRectItem *> list_rect_item;

我将它们分组在 QGraphicsItemGroup 中,使它们从我的场景中间旋转:

for(int i=0 ; i < list_rect_item.size() ; i++) {
group->addToGroup(list_rect_item.at(i));
}

QPoint point_center(scene.width()/2, scene.height()/2);
group->setTransformOriginPoint(point_center);
group->setRotation(ui->box_angle->value());

但是现在我想知道那里有新的坐标所以我尝试了这个但是它没有用(我在旋转之前得到了坐标):

QList<QGraphicsItem> group_list = group->childItems();

for(int i=0 ; i < list_rect_item.size() ; i++) {
list_rect_item.at(i)->setPos(group_list.at(i).pos());
scene.addItem(list_rect_item.at(i));
}

如何转换一组项目,并在获得所有新坐标后?(改造后我想继续使用它们而不是作为一个组)

最佳答案

您应该调用scenePos() 函数来获取变换后项目的全局坐标。调用 pos() 函数将为您提供项目相对于项目父级的局部坐标。

关于c++ - Qt QGraphicsItemGroup 获取转换项目的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23673129/

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