シンプルである必要がありますが、何とか機能しません。私はQListWidgetでeventFilterマウスボタンを押したり離したりして捕まえようとしています。 ListWidgetはUIの下で準備されました。QListWidgetのMouseButtonReleaseを使用したQT eventFilterがマウスのプレス/リリースを検出していません
bool eventFilter(QObject *obj, QEvent *event);
をそして作成したメインウィンドウ
下bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyPress)
{
qDebug() << "Keyboard press";
} else if (event->type() == QEvent::MouseButtonRelease) {
qDebug() << "Mouse press L";
} else if(event->type() == QEvent::ContextMenu) {
qDebug() << "Mouse press R";
}
return QObject::eventFilter(obj, event);
}
私はそれをドキュメントで確認してきました:私はこの
ui->listWidget->installEventFilter(this);
私は公共の下ヘッダに追加したようeventFilterをインストールしました与えられたQWidgetに送る前にすべてのイベントがeventHandlerに渡されていると言います。それは部分的に真実です。 KeyPressとContextMenuが機能しているためです。リストウィジェットがblocksingals(true)に設定されていても。
問題は、MouseButtonRelease/Pressが機能していないことです。何かがそれを阻止しており、何をどのように働かせるかわからない。 私もon_listWidget_clickedを持っていますが、それを取り除くことさえまだ動作していません。
助けてください。あなたは/あなたのマウスボタンがQListWidget
にリリース押したときに右だおかげ
驚くばかり!ありがとう、それは今働いている:) – Pilot