간단해야하지만 어떻게 든 작동하지 않습니다. QListWidget에 eventFilter 마우스 버튼을 누르거나 놓으려고합니다. ListWidget은 UI로 준비되었습니다.QListWidget에서 MouseButtonRelease가있는 QT eventFilter가 마우스 누르기/해제를 감지하지 않습니다.
bool eventFilter(QObject *obj, QEvent *event);
을 그리고 만들어 MainWindow를
에서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