QLabelでpos
のmousePressedEvent
を取得するには、最も簡単な方法は何ですか?QLabelでのマウスクリックの位置の取得
bool MainWindow::eventFilter(QObject *someOb, QEvent *ev)
{
if(someOb == ui->label && ev->type() == QEvent::MouseButtonPress)
{
QMouseEvent *me = static_cast<QMouseEvent *>(ev);
QPoint coordinates = me->pos();
//do stuff
return true;
}
else return false;
}
しかし、私はコンパイルを受け取る:私はフランクは、このように提案し何しようとした(または、基本的にはQLabelウィジェットにマウスクリックの位置を得る)
EDIT
私がme
を宣言しようとする行にエラーinvalid static_cast from type 'QEvent*' to type 'const QMouseEvent*'
があります。私がここで間違っていることは何ですか?
本当に私の宣言に2つの 'const'が必要ですか?もしそうなら、なぜですか?また、コンパイラが 'QEvent * '型から' const QMouseEvent *' '型に無効なstatic_castを与えると、コードをコンパイルするのに問題があります。 – wrongusername
ああ、私はそれを含んでいませんでした。ありがとう!私が思っていたのは、なぜ 'const QMouseEvent * me'だけではなかったのかということでした... 2番目のconstは何をしていますか? – wrongusername