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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsView + объекты сцены отображаются как попало  (Прочитано 3453 раз)
ged
Гость
« : Октябрь 14, 2007, 00:42 »

Здравствуйте.

Создал я сцену, добавил к ней объекты в определенном порядке, потом саму сцену приписал QGraphicsView, как описано ниже:

Код:
QPen pen1(Qt::red);
QBrush brush1(QColor::QColor ( 0, 0, 255, 25 ));
QPen pen2(Qt::green);
QBrush brush2(QColor::QColor ( 255, 0, 0, 255 ));
QPen pen3(Qt::blue);
QBrush brush3(QColor::QColor ( 0, 255, 0, 25 ));
QGraphicsScene *scene = new QGraphicsScene();
scene->setItemIndexMethod(QGraphicsScene::NoIndex);
scene->addPolygon(QRectF( 0, 0, 100, 100 ), pen1, brush1);
scene->addPolygon(QRectF( 50, 50, 100, 100 ), pen2, brush2);
scene->addPolygon(QRectF( 25, 25, 100, 100 ), pen3, brush3);
ui.graphicsView->setAlignment ( Qt::AlignLeft | Qt::AlignTop );
ui.graphicsView->setScene(scene);

Все компилится и работает, но не так как мне хотелось бы. А хочется мне не так много - чтобы объекты выводились в определенном порядке, чего не происходит.
Вопрос собственно в том, как это сделать? Глубины я не нашел (в смысле одному объекту как бы присваивается минимальная глубина, остальным меньше на 1, и он рисуется над первым и т.д.). Как еще можно это реализовать? Подскажите куда копать плиз.
Записан
ged
Гость
« Ответ #1 : Октябрь 14, 2007, 11:24 »

Извиняюсь за свой флуд в первом посте. Наверное вредно постоянно рабираться в qt4 и надо было немного отвлечься. В общем щас встал, трезво все осмыслил и решил покопаться таки в родителях... Ну в общем нашел я у QGraphicsItem глубину aka setZValue( qreal z ). Пусть пост будет практическим примером того, как НЕ надо делать Грустный, и как полезно думать не в одном направлении.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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