Название: boundingRect для непрямоугольной фигуры Отправлено: Nidxogg от Октябрь 16, 2013, 23:12 Требуется нарисовать ломанную линию (стрелка)
Собственно, наследуюсь от QGraphicsItem. Переоопределяю вирт.методы Paint и boundingRect Вот только boundingRect возвращает прямоугольную область, а хотелось бы что-то подобное на очертание стрелки. Вроде читал, что можно также переопределить метод shape(), только не понято как его привязать к boundingRect Название: Re: boundingRect для непрямоугольной фигуры Отправлено: mutineer от Октябрь 17, 2013, 09:15 Попробуй QRegion QGraphicsItem::boundingRegion
Название: Re: boundingRect для непрямоугольной фигуры Отправлено: Fregloin от Октябрь 17, 2013, 10:16 В любом случае вам придётся переопределять этот метод. будь это эллипс или сложный полигон.
У меня таких объектов много. Как делать. Код: QPainterPath YourClass::shape() const Еще есть такой нюанс, который я выяснил довольно позлно, что если нужно объеденить несколько полигонов и получить в результате их суммирующую форму, то простое добавление к path не поможет, так как по сути path будет состоять из продолжающихся полигонов друг за другом, что в конечном итоге не то что надо, тогда следует делать так Код: QPainterPath path; Такой код даст правильный резултат наложения нескольких фигур друг на друга без "дырок" в областях наложения. Название: Re: boundingRect для непрямоугольной фигуры Отправлено: Nidxogg от Октябрь 18, 2013, 17:32 Все сделал, спасибо.
|