在QLabel中獲得mousePressedEvent
的pos
的最佳方式(最簡單)是什麼? (或者基本上只是獲得點擊鼠標相對於位置的QLabel部件)在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;
}
不過,我收到編譯錯誤invalid static_cast from type 'QEvent*' to type 'const QMouseEvent*'
就行了,我嘗試聲明me
。任何想法我在這裏做錯了嗎?
你真的需要2個`const`來聲明我嗎?如果是這樣,爲什麼?另外,我在編譯代碼時遇到了問題,因爲編譯器會給我提供`'QEvent *'類型的無效static_cast在該行上鍵入'const QMouseEvent *' – wrongusername 2010-12-04 19:02:17