Я работаю над проектом Qt, и я хочу сделать причудливый контекстный пирог, щелкнув правой кнопкой мыши ... меню.QT, предварительный GUI, причудливое контекстное меню
, как в изображении
Я использую QGraphicsItem, QGraphicsScene, QGraphicsView и заходящего фон прозрачным путем
setAttribute(Qt::WA_TranslucentBackground);
setStyleSheet("background: transparent ;border: none;");
, что я хочу достичь, когда пользователь hove над кругом, и это подменю, тогда появится меню пирога, но
Проблема в следующем:
К сожалению, события мыши не будут испускать, если он не коснется твердого пикселя из моего QGraphicsView, поэтому, когда курсор мыши переместится в подменю, появится красный пирог, но как только я перейду к щелчку по сектору из пирога, исчезнет, потому что я больше не вишу над оранжевым кругом.
любая другая хорошая идея или решение, так что я могу получить события мыши над моей прозрачной области (я вычислит расстояние от оранжевого круга, и если мышь IN RANGE пирог будет оставаться показано)
спасибо.
ваше контекстное меню с помощью QMenu и вы кладете графическое представление на QMenu ? Или контекстное меню находится в графическом представлении? – Apin
Нет, я вообще не использую QMenu, просто QGraphicsView и QWidget и класс, унаследованный от QGraphicsItem, которые представляют собой элемент, который можно щелкнуть (круг на изображении). –