А именно: после однократного нажатия ЛКМ устанавливается маркер в месте щелчка, обозначающем начало многоугольника. Затем за курсором мыши начинает следовать временный полигон нужного типа (но разных размеров), пока мы снова не нажмем ЛКМ. После чего от точки первого клика ЛКМ до точки второго клика будет построен итоговый полигон.
Такой готовый полигон надо будет где-то хранить в памяти для дальнейшей работы с ним.
В качестве многоугольника здесь я показываю сложный сектор, построенный на некоторых расчетных точках, но в качестве простого примера можно взять прямую линию — я не не думаю, что суть программы сильно изменится.
Я уже просмотрел множество примеров разных реализаций разных вещей на QGraphicsScene, но так и не смог разобраться, как именно создать объект так, как мне нужно. То есть я знаю, что нужен отдельный класс, описывающий полигон и вычисляющий координаты из которых он состоит, но не совсем понимаю, как реализовать динамику — при каждом mouseMoveEvent удалять временный полигон, и нарисовать новый по новым координатам, или как?
А как бы мне реализовать задуманное через переопределённый класс PaintScene, заменив стандартный класс QGraphicsScene и унаследовавшись от него?
Столкнулся с тем, что при создании собственного класса объекта сцены нажатие на прикрепленные к нему объекты игнорируется программой, а вместо того, чтобы, например, перетаскивать объект на сцене при нажатии на нее срабатывает mousePressEvent сцены, а не объекта, и я не понимаю, в чем проблема.

Подробнее здесь: https://stackoverflow.com/questions/722 ... ized-scene