私はC ++で画像を持っていて、それをクリックしてピクセルの座標(画像に相対的)を取得したい(私の画像が利用可能で、クリックして開く)。これを行うために必要な信号とスロットを定義する方法がわかりません。ありがとう。
質問する
2280 次
2 に答える
1
あなたのケースに提供されるイベントがあります。詳細な手順については、この投稿をお読みください。
QWidget
から派生した画像を表示するためにコントロールを使用していると思いますQImage
。
QWidget
派生クラスは、クリックなどのマウス イベントを処理し、QMouseEvent
. これには、イベントを受け取ったウィジェットに相対的なx 座標とy座標が含まれます。
これらを使用して、呼び出してピクセル値を読み取ります( を返します)。QImage::pixel(x, y)
QRgb
于 2013-04-17T10:05:42.407 に答える
1
eventFilter(QObject *obj, QEvent *event){
//blabla
if (event->type() == QEvent::MouseButtonPress) {
QMouseEvent* MouseEvGrip = (QMouseEvent*)event;
Point2f clickePixel((float)MouseEvGrip->x(), (float)MouseEvGrip->y());
//blabla
}
}
于 2013-04-17T10:16:58.277 に答える