我有一个带有GraphicsView的应用程序,使用此代码将大量的点绘制到QGraphicsView上并分配了一些数据
void GUI::paintitem(double x, double y, double Id)
{
// Decalre a QPen for Painting dots
QPen pen;
// set the pen colour
pen.setColor(Qt::white);
QGraphicsEllipseItem *item = new QGraphicsEllipseItem;
item->setPen(pen);
item->setBrush(QBrush(Qt::SolidPattern));
item->setRect(x,y,1.5,1.5);
item->setData(m_count, Id);
item->ItemIsSelectable;
if(x < m_height && y < m_width)
{
// Add ellipse at the x y position passed in
scene2->addItem(item);
}
m_count++;
}
在我的鼠标事件中,我有这个
if(event->type() == Qt::RightButton)
{
ui->graphicsView->setDragMode(QGraphicsView::RubberBandDrag);
QList<QGraphicsItem*> selected = ui->graphicsView->scene()->selectedItems();
}
QList应该包含我所有的物品时什么也不包含
查看使用此功能的文档和演示,我找不到任何有关选择实际上如何工作的帮助,
任何帮助将不胜感激
最佳答案
尝试这个:
item->setFlag(QGraphicsItem::ItemIsSelectable, true);