Название: QGraphicsItem Отправлено: nix от Январь 31, 2017, 15:53 Доброго времени суток.
Вопрос в следующем, как отрисовать графический объект относительно другого графического элемента на сцене. первая попытка: line=new QGraphicsLineItem(10,10,30,10,0); scene->addItem(line); rect=new QGraphicsRectItem(-5,-5,15,15,line); рисуем как и при использование scene->addRect(-5,-5,15,15); line=new QGraphicsLineItem(10,10,30,10,0); scene->addItem(line); line->setTransform(QTransform().translate(100,100).rotate(45).translate(-100,-100)); rect=new QGraphicsRectItem(-5,-5,15,15,line); Оба оъекта поворачиваются. Как сделать так, чтобы: при отрисовки линии под угол 45, к примеру (5,5,10,10) система координат была повернута угла 45 относительно своего предка ( в данном случае сцены) и начало отсчета системы координат соответсвовла начальноя точки линии на сцене, в данном случае (5,5) Название: Re: QGraphicsItem Отправлено: nix от Январь 31, 2017, 16:14 С первым определился:
если line =new QGraphicsLineItem(0,0,20,20,0); line->setPos(10,10); rect = new QGraphicsItem(-5,-5,25,25,line); то отрисует четырехугольник, относительно сцены (5,5), а относительно линии (-5,-5). Как угол задать все остальным, чтобы вектор нормали линии соответсвовал оси x. Если нет способа, я ест-но рассчитаю необходимый угол наклона и буду отображать элементы с углом поворота... но хотелось бы, конечно, задать систему координат и забыть... |