Sélection QGraphicsRectItem avec souris
Pour les débutants :
Je cherchais à sélectionner un item précis dans un QGraphicsView, voici ma solution :
Au lieu d'utiliser QGraphicsView, j'utilise une version personnalisée pour intercepter le clic souris :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class myview : public QGraphicsView
{
public:
myview(QGraphicsScene * scene)
{
}
protected:
void mousePressEvent(QMouseEvent *event)
{
QGraphicsRectItem* myitem=dynamic_cast<QGraphicsRectItem*>(this->itemAt(event->pos()));
if (myitem)
{
qDebug()<<"item clique"<<event->pos()<<this->itemAt(event->pos());
}
QGraphicsView::mousePressEvent(event);
}
}; |
Ce code affiche les infos du QRectItem cliqué.
Pour sélectionner ensuite un élément bien précis il suffit de comparer le myitem avec le pointeur de l’élément précis.
Le truc, c'est de surcharger mousePressEvent
Si ça peut aider quelqu'un d'autre.