Я использую QMenu в своем приложении, и когда я щелкаю вне QMenu, чтобы закрыть его, Qt генерирует пару событий.Я обнаружил, что в Linux он генерирует следующие события:
QEvent::MouseButtonPress
QEvent::Close
QEvent::Hide
QEvent::HideToParent
QEvent::UpdateRequest
QEvent::Leave
в Mac OS, генерируются следующие события:
QEvent::Close
QEvent::Hide
QEvent::HideToParent
QEvent::UpdateRequest
QEvent::Leave
Поскольку видно, что при закрытии QMenu, QEvent :: MouseButtonPress не генерируется в среде Mac.Я хочу знать, является ли это ошибкой в Qt или это преднамеренное поведение.
В моем коде я вычисляю координаты щелчка мыши, когда QMenu закрывается, в методе mousePressEvent (), который у меня естьпереопределено в моем пользовательском классе меню, который наследует QMenu.Но оно ломает все приложение в Mac OS по причине, указанной выше.
Я использую Qt версия 5.12.3