Russian Qt Forum
Май 02, 2024, 09:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsItem  (Прочитано 1421 раз)
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)
« Последнее редактирование: Январь 31, 2017, 16:01 от nix » Записан
nix
Гость
« Ответ #1 : Январь 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.

Если нет способа, я ест-но рассчитаю необходимый угол наклона и буду отображать элементы с углом поворота... но хотелось бы, конечно, задать систему координат и забыть...
« Последнее редактирование: Январь 31, 2017, 16:17 от nix » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 21.