我在图像的交互选择区域中输出几个点。我不熟悉PyQt来为任务选择合适的元素。请建议正确的方法。目前,这是我打算做的事情:
加载图像。
使用QImage(QPixMap?)显示图像。
在图像中选择一个矩形区域。
使用QRubberBand选择区域。
在区域中绘制网格。
使用QLines?
使网格点(interesctions)可选。
不知道。
使用所需类的任何指向片段的指针都将非常有用。谢谢!
答案 0 :(得分:1)
使用QGraphicsScene
和QGraphicsView
显示您的场景。
scene->addPixmap
添加图片。 QRubberBand
按照您的说法选择区域。 view->mapToScene
将从QRubberBand
获取的视口坐标转换为场景坐标。scene->addLine
scene->addEllipse
将小圆圈项添加到线交叉点。此函数返回QGraphicsEllipseItem*
个对象。你应该使用带(0,0)中心的圆圈。使用item->setPos
将每个圆圈移动到适当的位置。item->setFlag(QGraphicsItem::ItemIsSelectable)
可以选择圈子项目。您现在可以通过鼠标点击选择项目。view->dragMode(QGraphicsView::RubberBandDrag)
启用项目选择,请使用QRubberBand
。 QGraphicsScene::selectedItems
获取所选项目。然后,您可以使用item->pos()
获取项目位置。