Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ Как объединить несколько картинок в одну и двигать по сцене.

Автор: Jkc 22.12.2010, 15:14

Есть несколько картинок, их нужно объединить в одну, так что бы они следовали дна за другой
и получилась одна длинная картинка,
положить это дело на сцену где можно было бы крутить - вертеть эту картинку ,
сцену привязать к QGraphicsView а QGraphicsView установить на Layout где можно
менять пропорционально размеры.
В настоящий момент я выкладываю на сцену все картинки по отдельности, как в примере states.

 Pixmap *p1 = new Pixmap(QPixmap(":/digikam.png"));
  Pixmap *p2 = new Pixmap(QPixmap(":/akregator.png"));
.....
QGraphicsScene scene(0, 0, 400, 300);
    scene.setBackgroundBrush(scene.palette().window());
    scene.addItem(p1);
    scene.addItem(p2);
....
QStateMachine machine;
    QState *state1 = new QState(&machine);
    QState *state2 = new QState(&machine);
    machine.setInitialState(state1);
....
state1->assignProperty(p1, "pos", QPointF(68, 185));
    state1->assignProperty(p2, "pos", QPointF(168, 185));
    state1->assignProperty(p3, "pos", QPointF(268, 185));
....

Дело весьма утомительное, особенно если всё это дело нужно двигать как одно целое и картинок множество.
Может кто то подскажет как можно упростить данное решение?

Автор: Алексей1153 22.12.2010, 20:02

Jkc, а если применить контейнер и перебор в цикле ? :)

Автор: ufna 22.12.2010, 22:57

Jkc, уже же на прог.орге объяснили - сделай айтемам общего родителя и двигай родителя, это тривиальная задача.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)