События контекстного меню не работают в QOpenGLWindow - PullRequest
0 голосов
/ 04 февраля 2020

Я создаю подклассы QOpenGLWindow (не QGLWidget или QOpenGLWidget) и звоню

auto container = QWidget::createWindowContainer(my_opengl_window);

, чтобы поместить его в макет родительского элемента QWidget.

. окно отображается правильно, и я могу взаимодействовать с ним, но container (и его родительский виджет) не получают события контекстного меню, когда я щелкаю правой кнопкой мыши в my_opengl_window. Я получаю контекстное меню, если щелкнуть правой кнопкой мыши на небольшом поле между окном и его контейнером.

void MyGLWindow::mousePressEvent (QMouseEvent * e)
{
    qDebug (__PRETTY_FUNCTION__);

    QOpenGLWindow::mousePressEvent (e);
}

Выше показано, что my_opengl_window получает щелчки мыши. Я также пробовал e->ignore (), но родительский элемент все еще не получает событие контекстного меню.

Кроме того, setCursor и setToolTip на виджет контейнера не влияют. Я подозреваю, что это может быть связано.

Как мне заставить эти события мыши работать на QOpenGLWindow контейнере?

...