QListWidget 보내 doubleClicked 신호와의 항목
-
13-11-2019 - |
문제
나는 QListWidget 에는 대화 상자가 원하는 무언가를 하는(예를 들어,열 QFileDialog window)사용자를 더블 클릭 QListWidget.불행하게도, void doubleClicked (const QModelIndex & index)
만이 불을 때가 있고 항목 목록에 있습니다.
그것은 가능한 위젯을 신를 때마다 두 번 클릭하여 이벤트가 수신되면,어디에서나요?또는 다른 접근 방식이 필요합니까?
해결책
이벤트 필터 설치 listwidget의 뷰포트에위젯, 이와 같은 것 :
listWidget->viewport()->installEventFilter(this); // "this" could be your window object.
.
eventFilter 메소드에서 QEvent::MouseButtonDblClick
이벤트를 확인합니다.
bool YourWindowClass::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::MouseButtonDblClick)
{
QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
qDebug("Mouse double click %d %d", mouseEvent->x(), mouseEvent->y());
return true;
}
else
{
return QMainWindow::eventFilter(obj, event);
}
}
.
이 도움이되기를 바랍니다.
제휴하지 않습니다 StackOverflow