Я создаю подклассы 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
контейнере?