QGLWidget 및 QTreeView의 사용자 지정 컨텍스트 메뉴에 문제가 있습니다. QTreeview와 QGLWidget을 스플리터가있는 일반적인 위젯에 추가했습니다. 다음 코드로 컨텍스트 메뉴를 엽니 다.QGLWidget의 컨텍스트 메뉴 관련 문제
setContextMenuPolicy(Qt::CustomContextMenu);
QMenu::exec(actions, mapToGlobal(QPoint(x, y)),actions.at(0),this);
작업은 QActions 목록입니다.
QGLWidget에서 마우스를 누르면 특정 조건이 충족되면 마우스 커서가 변경됩니다. 마우스 오른쪽 버튼으로 컨텍스트 메뉴를 연 다음 메뉴 항목 중 하나에서 마우스를 누르면 모든 것이 정상입니다. 상황에 맞는 메뉴 항목 중 하나에서 마우스를 누르지 않으면 상황에 맞는 메뉴가 닫히고 문제가 시작됩니다. 문제는 마우스를 눌렀을 때 모든 조건이 충족 되더라도 마우스 커서가 변경되지 않는다는 것입니다. QWidget이 여기에서 초점을 잃었는지 확실치 않습니다. 그래서 저는 마우스 프레스 이벤트에서 포커스를 설정하려고했습니다. 그러나별로 도움이되지 않습니다. 이 문제를 극복하기위한 제안.
감사합니다.
QGLWidget :: contextMenuEvent (QContextMenuEvent * event)를 다시 구현하여 차이가 있는지 확인해 보셨습니까? 이것이 바로 컨텍스트 메뉴를 만드는 방법입니다. – cmannett85
감사합니다. 예, 컨텍스트 메뉴 이벤트에서 컨텍스트 메뉴를 만들려고 시도했지만 잘 진행되지 않았습니다. – krishna