Проблема с контекстным меню в QGLWidget - PullRequest
1 голос
/ 24 августа 2011

У меня проблема с пользовательским контекстным меню в QGLWidget и QTreeView. У меня есть QTreeview и QGLWidget, добавленные в общий виджет со сплиттером. Я открываю контекстное меню по следующему коду.

setContextMenuPolicy(Qt::CustomContextMenu);
QMenu::exec(actions, mapToGlobal(QPoint(x, y)),actions.at(0),this);

actions - это список QActions.

При нажатии мыши на QGLWidget курсор мыши изменяется, если выполняются определенные условия. После открытия контекстного меню по щелчку правой кнопкой мыши, если нажать на один из пунктов меню, все в порядке. Если нажатие мыши не происходит ни по одному из пунктов контекстного меню, контекстное меню закрывается и начинается проблема. Проблема в том, что курсор мыши не изменяется, даже если при нажатии мыши выполняются все условия. Я не уверен, что QWidget потерял фокус здесь. Итак, я попытался установить фокус в событии нажатия мыши. Но не очень помогает. Любые предложения по решению этой проблемы.

Спасибо!

1 Ответ

0 голосов
/ 18 октября 2011

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

QGLWidget :: mouseReleaseEvent (event);

...