Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] Вопрос по QGraphicsView/Scene 
:(
    Опции темы
Killhimself
Дата 22.12.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 30.8.2006

Репутация: нет
Всего: нет



Привет всем! Сразу к вопросу smile

1. Чем отличается setBackgroundBrush(...) у QGraphicsView от аналогичной функции setBackgroundBrush(...) у QGraphicsScene, в случае когда scene отображается в одном view, какой setBackgroundBrush(...) использовать? есть ли разница вообще?!
Например в моем случае, я делаю карту страны, на которой буду размещать объекты - дороги, города и тп. И я хотел в background поместить пустую карту страны (чтобы на ней уже потом размещать магистрали и тп.).

2. При установке изображения в background QGraphicsView/QGraphicsScene, изображение множество раз повторяется (тоесть как будто матрица изображений получается). А я хотел бы чтобы оно отображалось 1 раз. Как это реализовать?

3. Какой тип карты лучше использовать, векторный или растровый?!

4. В случае растрового изображения, поместить его в background QGraphicsView/QGraphicsScene не проблема вроде. А как быть с векторным изображением? Для svg знаю есть классы в Qt, но как это дело потом отобразить в QGraphicsView...
PM MAIL   Вверх
SABROG
Дата 22.12.2008, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(Killhimself @  22.12.2008,  14:50 Найти цитируемый пост)
1. Чем отличается setBackgroundBrush(...) у QGraphicsView от аналогичной функции setBackgroundBrush(...) у QGraphicsScene

Ничем. Если устанавливаешь background через метод в QGraphicsView, то используется он вместо кисти QGraphicsScene.

Цитата(Killhimself @  22.12.2008,  14:50 Найти цитируемый пост)
2. При установке изображения в background QGraphicsView/QGraphicsScene, изображение множество раз повторяется (тоесть как будто матрица изображений получается). А я хотел бы чтобы оно отображалось 1 раз. Как это реализовать?

addPixmap() ? А ты ставиш наверно через setBackground ?

Цитата(Killhimself @  22.12.2008,  14:50 Найти цитируемый пост)
3. Какой тип карты лучше использовать, векторный или растровый?!

Векторный.

Цитата(Killhimself @  22.12.2008,  14:50 Найти цитируемый пост)
4. В случае растрового изображения, поместить его в background QGraphicsView/QGraphicsScene не проблема вроде. А как быть с векторным изображением? Для svg знаю есть классы в Qt, но как это дело потом отобразить в QGraphicsView... 

QGraphicsSvgItem

Растр не сможет увеличиваться, когда будешь ZOOM делать, какой прок от него, если дорожка будет из себя представлять пару кубиков (пикселей) во весь экран ? Хотя если файл с расширением миллион на миллион пикселей, то вполне. Правда это неоправданный расход места на винте и памяти.

Это сообщение отредактировал(а) SABROG - 22.12.2008, 18:07


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
Killhimself
Дата 22.12.2008, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 30.8.2006

Репутация: нет
Всего: нет



Цитата

addPixmap() ? А ты ставиш наверно через setBackground ?

аха..так и делал smile

Цитата

Векторный.

да, я тоже так предполагал.

Цитата

QGraphicsSvgItem

Хм, надо буит получше посмотреть возможность классов для SVG..
Так а если я захочу векторную карту сделать в виде фона, я так полагаю addPixmap() вообще отпадает, а QGraphicsSvgItem это ж айтем сцены, как его сделать чтобы он выполнял роль бэкграунда?! Если тока поставить флаг о невозможности его перемещения чтоли...
PM MAIL   Вверх
SABROG
Дата 22.12.2008, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Посмотри пример 40000 чипов, думаю ты можешь себе позволить поставить векторную карту через обычное добавление (addItem(QGraphicsSvgItem *)).


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
anater
Дата 18.1.2010, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 18.1.2010

Репутация: нет
Всего: нет



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

Ситуация аналогичная. Нужно создать интерфейс на фоном рисунке устройства должны отображаться элементы поверх. Попытался так же как и автор ветки добавить фоновый рисунок. Прочитав данную тему сделал через addPixmap. А вот после когда начал добавлять другие элементы например через addEllipce "фоновый рисунок" съехал в сторону. Вопрос как добиться прорисовки поверх картинки? чтобы она не съезжала?
PM MAIL   Вверх
chaos
Дата 21.1.2010, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 5
Всего: 44



Цитата(Killhimself @  22.12.2008,  17:25 Найти цитируемый пост)
 сделать в виде фона


Цитата(anater @  18.1.2010,  10:17 Найти цитируемый пост)
как добиться прорисовки поверх картинки


может это
Код

void QGraphicsItem::setZValue (qreal z)

поможет.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.2959 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.