QGraphicsPixmapItemsをシーンに追加すると、アイテムを選択すると白い破線の選択矩形が表示されますが、この選択肢からデータを取得するのは難しいです。ここで私はそれをシーンに追加しています。私はシーンに追加QPixmapItemが選択されていることを確認します
void MainWindow::drawImage(curTarget *newTarget){
QGraphicsPixmapItem *tgt = new QGraphicsPixmapItem;//new pixmap
tgt = scene->addPixmap(newTarget->myIcon);//assign pixmap image
tgt->setFlag(QGraphicsItem::ItemIsSelectable, true);
scene->addItem(tgt);
}
各PixmapItemは、それに関連付けられた構造体のデータを持っている、と私はQGraphicsSceneの内側QGraphicsPixmapItemに選択したときにそのデータを取得できるようにする必要があります。 pixmapitemが選択されているときに選択矩形が表示されている場合、その事実に基づいて情報を返す簡単な方法はありませんか?おそらく選択されているものへのポインタ?
私はmousePressEventメソッドを実装していないが、私はそれに関連する何かを得て苦労しています。
void MainWindow::mousePressEvent(QMouseEvent *event){
qDebug() << "Clicked" << endl;
}
私はアプリを実行すると、私は私のpixmapitemsをクリックしたときを除いて、私のシーンでどこでもクリックされた参照してください。
私は限り、私は私のpixmapitemsに押さないでくださいと何かを、利用可能mousePressEventsと、実際に何かをするもののすべてのバージョンを試してみました。
QGraphicsScene :: selectedItemsの() ? – jpnurmi
'mousePressEvent(QGraphicsSceneEvent * event){ qDebug()<< scene-> selectedItems(); } ' 何も返さない – bauervision
' mousePressEvent'をオーバーライドする代わりに、現在の選択をチェックし、それを['QGraphicsScene :: selectionChanged'](http://doc.qt.io/qt-5/)に接続する関数を作成します。 qgraphicsscene.html#selectionChanged)シグナル。 –