Архив вопросов и ответов Вопросы и ответы, которые утратили свою актуальность


Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 30.09.2011, 09:51
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Проблема в следующем ... Есть два полигона poly1 и poly2 - один внешний, другой внутренний, для простоты считаем, что второй целиком входит в первый. Получаем третий путем вычитания второго из первого ... poly3=poly1.subtracted(poly2); ... добавляем на сцену polyItem1=scene_add->addPolygon(poly3, QPen(Qt::red), QBrush(Qt::blue)); ну и далее отображается на QGraphicsView. Если отображать результирующий полигон без контура а только заливкой ... вроде все нормально, но с контуром - внутренний и внешний полигон соединяются линией, что не есть хорошо. На Qt я перешел недавно и сужу по виндовой функции PolyPolygon() - в ней всё получается корректно (внешний и внутренний контуры не соединяются). Кто нибудь знает как это решить в Qt ? Конечно можно результирующий полигон сделать без контуров, а поверх него отрисовать внешний и внутренний только контурами - а более кординального решения нет ? Есть ещё одна проблема ... если результирующий полигон сделать QGraphicsItem::ItemIsMovable и цепануть его мышкой внутри там где вырезка то он благополучно перетащиться - что тоже я считаю неправильно.
Ответить с цитированием
Ответ





© www.otvetnemail.ru - Форум вопросов и ответов.