QT5 QGraphicsView获得已选中的所有QGraphicsItem,对选中的QGraphicsItem的X坐标进行排序
时间: 2023-08-26 07:28:16 浏览: 249
Qt QGraphicsItem测试
你可以使用QGraphicsScene的selectedItems()函数来获取所有选中的QGraphicsItem对象。然后,你可以使用QGraphicsItem的pos()函数获取每个QGraphicsItem的位置。最后,你可以使用std::sort函数对所有QGraphicsItem的位置进行排序。以下是一个示例代码:
```cpp
QList<QGraphicsItem*> selectedItems = scene->selectedItems();
QList<qreal> xPositions;
foreach(QGraphicsItem* item, selectedItems) {
xPositions << item->pos().x();
}
std::sort(xPositions.begin(), xPositions.end());
foreach(qreal xPos, xPositions) {
// do something with sorted x positions
}
```
注意:这里使用了QList容器类来存储X坐标。如果你需要对y坐标进行排序,只需将pos().x()替换为pos().y()即可。
阅读全文