Название: Вопрос по QGraphicsItem::boundingRect() и отрисовке элемента Отправлено: Martiro от Январь 14, 2013, 09:26 Разъясните мне, пожалуйста, какую конкретную роль выполняет функция boundingRect(). А то я уже запутался.
Я правильно понял, что она определяет область для перерисовки, плюс "активную" область, которая реагирует на "столкновения", события мыши и т.д.? Тогда по ходу дела вопрос. Возможно ли определить область не как прямоугольник, а как произвольную область (взять хотя бы даже круг)? Мне не нужны события вне этой области, которая вписана в прямоугольник. Мне нужны события которые происходят внутри контура, нарисованного в функции paint(). Вот мой пример. Отрисовка объекта: Код
Вызов отрисовки элемента (класс MainScene унаследован от QGraphicsScene): Код Результат я схематично привел во вложении. Фиолетовым цветом я показал область, которая в данном случае отзывается на события. Понятно, что ее можно "сузить". Но всё равно она будет прямоугольной, а хотелось бы её точного совпадения с красной областью. И еще. Элемент почему-то рисуется с нижней горизонтальной линией. Это такая особенность функции arcTo()? Как от нее избавиться? Название: Re: Вопрос по QGraphicsItem::boundingRect() и отрисовке элемента Отправлено: Old от Январь 14, 2013, 09:29 Тогда по ходу дела вопрос. Возможно ли определить область не как прямоугольник, а как произвольную область (взять хотя бы даже круг)? QPainterPath QGraphicsItem::shape () const [virtual] |