Qt: QMouseEvent не распространяется из QGLWidget

Возможно ли, чтобы QGLWidget распространял свое событие мыши?

В настоящее время у меня есть QGlWidget как дочерний элемент моего главного окна, но я не могу обработать события мыши, происходящие над его фреймом.

Возможно, я делаю фундаментальный недостаток, но события мыши внутри самого qglwidet установлены на event-> accept (), и я также не блокирую исходящие сигналы от qglwidget.

У меня есть работа, где я просто излучаю новые сигналы из каждого события мыши в qglwidget и подключаю их в моем главном окне, но мне просто любопытно, если это известная проблема, я делаю это неправильно, или если это вообще невозможно

1

Решение

Из документации Qt о принятии события:

Установка параметра accept указывает, что получатель события хочет
событие. Нежелательные события могут распространяться на родительский виджет.

Поэтому, когда вы принимаете событие мыши на виджете, оно не будет передано в главное окно. Вы можете обработать событие в QGlWidget но нет необходимости устанавливать флаг принятия. Просто оставьте это для размножения родителям.

0

Другие решения


По вопросам рекламы [email protected]