У меня большой опыт работы с QGraphicsScene
в Qt, но я надеюсь, что кто-нибудь сможет прояснить детали относительно методов boundingRect
и shape
для QGraphicsItem
. Насколько я могу найти, документация не затрагивает эту конкретную проблему.
У меня есть ситуация, когда мне нужно рассчитать форму для многих сложных путей с формой, включающей небольшую буферную зону, чтобы пользователю было легче нажимать и выбирать пути. Я использую QPainterPathStroker
, и это дорого. В настоящее время я пытаюсь отложить расчет формы до фактического вызова метода формы, и это помогает с производительностью.
Теперь ситуация такова, что ограничивающий прямоугольник вычисляется из границ пути плюс любая ширина пера, что правильно для охвата закрашенной области. Однако при вычислении результата shape
он больше ограничивающего прямоугольника, поскольку буферная зона выбора больше области рисования.
Это проблема? Допустимо ли, что boundingRect
НЕ закрывает область результатов shape
? Или мне нужно пересчитать boundingRect
при пересчете shape
?
Спасибо.
Дуг МакГрат