状況:
Dialog
QTに、正方形のラスターを描画するクラスがあります。正方形はMySquare
クラス(MySquare: QGraphicsItem
)に実装されています。
MySquareの内部には、いくつかの関数があります(mysquare.h保護:)
void mousePressEvent(QGraphicsSceneMouseEvent *event);
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
void keyPressEvent(QKeyEvent *event);
void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
正方形をクリックすると、次の関数を使用して正方形の相対座標が表示されます。
void MySquare::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
update();
QGraphicsItem::mousePressEvent(event);
qDebug() << "mouse Pressed";
qDebug() << "coordinates:";
qDebug() << "X:"<< x/w << " Y:" << y/h ;
}
ここで、xとyはラスター内のxとyの位置であり、wとhは幅と高さを表します。
ただし、私の質問は、どの正方形がクリックされたかをDialogクラスに知らせるにはどうすればよいですか?