crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> фоновый рисунок сцены, фоновый рисунок сцены
anater
  опции профиля:
сообщение 18.1.2010, 14:13
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 25.12.2009
Пользователь №: 1335

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток!

Ситуация следующая. Необходимо создать сцену фоновым рисунком которой будет схема агрегата и далее динамически будут добавляться элементы в виде кнопок пояснений и т.п. Первый раз сделал для сцены setbackground. Картинка выставилась... но в виде заливки... т.е. получил много схемок в качестве текстуры сцены. что не гут :( далее нары в инете метод addPixmap. тоже выставилось. нормально выставилось. но при добавлении элемента например addEllipce картинка отъезжает в сторонку давая место для этого самого нового элемента... Плих хелп! Как сделать нормальный фоновый рисунок агрегата на сцене и добавлять элементы поверх рисунка... чтобы ничего не разъезжалось?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.1.2010, 17:03
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я просто добавляю элемент-рисунок по середине сцены:
    QSize sceneSize = QSize(640, 480);
    QPoint sceneOrigin(-320, -240);

    scene = new QGraphicsScene(QRectF(sceneOrigin, sceneSize));
    pView = new MyView(scene);

...

    QPixmap pic2("./misc/circuit.svg");
    QSize pic2Size = pic2.size();
    QGraphicsPixmapItem* circuit = new QGraphicsPixmapItem(pic2);
    int x = sceneSize.width()/2 - pic2Size.width()/2;
    int y = sceneSize.height()/2 - pic2Size.height()/2;
    circuit->setPos(sceneOrigin.x() + x, sceneOrigin.y() + y);
    //circuit->setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);
    circuit->setZValue(-1);
флаг перемещения и выделения не устанавливается.
Z-порядок отрицательный, а у остальных элементов положительный или нулевой (по умолчанию), получается так:
Прикрепленное изображение
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
anater
  опции профиля:
сообщение 18.1.2010, 17:42
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 25.12.2009
Пользователь №: 1335

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 18.1.2010, 17:03) *
я просто добавляю элемент-рисунок по середине сцены:
...


Симпатишное решение что то я до такого и не допер.... А в сцену как добавляешь?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.1.2010, 18:40
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(anater @ 18.1.2010, 20:42) *
А в сцену как добавляешь?
так же как и другие элементы
scene->addItem(circuit);


anater, не цитируй целыми сообщениями
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
anater
  опции профиля:
сообщение 18.1.2010, 19:14
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 25.12.2009
Пользователь №: 1335

Спасибо сказали: 0 раз(а)




Репутация:   0  


Сделал как ты сказал. спасибо. заработало.
Вот только одно маленькое но.
Элементы у мене на панели подвижные, и если я начинаю элементы двигать то и картинка иногда тоже съезжает. Можно сделать по размеру картинки но по моему это не совсем хорошо. Есть варианты как ее намертво привязать к центру экрана?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.1.2010, 19:24
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


не понял, что и почему съезжает. Линейки прокрутки появляются на представлении?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
anater
  опции профиля:
сообщение 18.1.2010, 19:38
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 25.12.2009
Пользователь №: 1335

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 18.1.2010, 19:24) *
не понял, что и почему съезжает. Линейки прокрутки появляются на представлении?

Нет я их отрубил. Прокрутки быть не должно. Просто при игре с элементом он то нормально на рисунке лежит но если чуть выше или ниже найти точку то рисунок приподнимается или опускается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.1.2010, 19:42
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(anater @ 18.1.2010, 22:38) *
но если чуть выше или ниже найти точку то рисунок приподнимается или опускается.
приведи два снимка, до того как съехало и после. А то я не совсем понимаю, что происходит.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
anater
  опции профиля:
сообщение 18.1.2010, 20:04
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 25.12.2009
Пользователь №: 1335

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 18.1.2010, 19:24) *
не понял, что и почему съезжает. Линейки прокрутки появляются на представлении?

Да к стати а метод drawBackground не пробывал реализовывать. А то я написал на форуме nokia и они пока молчат.

Цитата(Litkevich Yuriy @ 18.1.2010, 19:42) *
Цитата(anater @ 18.1.2010, 22:38) *
но если чуть выше или ниже найти точку то рисунок приподнимается или опускается.
приведи два снимка, до того как съехало и после. А то я не совсем понимаю, что происходит.

Что то не смог добавить сюды рисунки. Но выложил на ftp.
ftp://85.94.44.102/pub/normal.bmp
ftp://85.94.44.102/pub/not_normal.bmp

Черный круг это дополнительный элемент который при старте находится в центре картинки фоновой. Но на рисунке видно что если я начинаю этот элемент выставлять на картинке то фоновая картинка едет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.1.2010, 20:54
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


anater, ужас! Зачем bmp, выложи лучше png, а то ведь не дождёшся когда загрузится.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 23:33