Я думаю, вам следует реализовать наложение легенды / палитры вне контекста QGraphics, если вы переместите (setPosition ...) этого элемента, чтобы инвертировать пользовательское преобразование, которое вы добавляете, он будет повторно проиндексирован в графическом дереве в любое время, когда вы панорамирование / масштабирование ...
Выполнение наложенного виджета, безусловно, выполнимо, но в этом случае, поскольку это часть вашего графического контекста, я бы порекомендовал реализовать свой собственный QGraphicsView
(wicth - это виджет), повторно реализовать paintEvent
, чтобы нарисовать вашу палитру / легенда в пространстве виджетов по умолчанию (без преобразования). Плюс, если ваша палитра / легенда статична, вы можете визуализировать ее один раз в растровом изображении и просто перекрасить этот растровый растровый рисунок каждый раз, когда QGraphicsView
требуется обновление (конечно, изменение размера потребует обновления буфера ...).
Если вы не беспокоитесь о не взаимодействующей части, вам даже не нужно пересылать события.