crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QGraphicsView
epishev
  опции профиля:
сообщение 24.3.2011, 12:30
Сообщение #1


Студент
*

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

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




Репутация:   0  


Все привет!

Есть вопрос по QgraphicsView
не пойму что делаю не так.....

ui->graphicsView->setScene(&scene);
QGraphicsRectItem* pRectItem = new QGraphicsRectItem(0,&scene);
pRectItem->setFlag(QGraphicsItem::ItemIsMovable);
QGraphicsPixmapItem* pPixmapItem =
scene.addPixmap(QPixmap("D:/Qt projects/LevelEditor-build-desktop/lua.png"));
pPixmapItem->setFlag((QGraphicsItem::ItemIsMovable));
ui->graphicsView->show();

запускаю картинки нет....
Подскажите что я делаю не так...

Заранее большое спасибо!

PS использую Qt Creator, graphicsView добавил используя готовые виджиты, ошибки компилятор не выдает.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 24.3.2011, 12:50
Сообщение #2


Участник
**

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

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




Репутация:   4  


Сцена, если она не член класса, должна быть создана через оператор new. У тебя я не знаю как, поэтому отмечаю этот момент.

new QGraphicsRectItem(0,&scene);
такого конструктора у итемов нет. Присмотрись

итемы на сцену добавляются через addItem()

Цитата(epishev @ 24.3.2011, 12:30) *
QGraphicsPixmapItem* pPixmapItem =
scene.addPixmap(QPixmap("D:/Qt projects/LevelEditor-build-desktop/lua.png"));

замени так:
QGraphicsPixmapItem* pPixmapItem =
scene.addPixmap(QPixmap(QCoreApplication::applicationDirPath()+"/lua.png"));

QCoreApplication::applicationDirPath() - возвращает каталог с твоим экзешником

что-то в твоём пути программу волнует, возможно пробел

Сообщение отредактировал abc - 24.3.2011, 13:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
epishev
  опции профиля:
сообщение 24.3.2011, 14:01
Сообщение #3


Студент
*

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

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




Репутация:   0  


abc, большое спасибо, заработала =)

Цитата(epishev @ 24.3.2011, 13:41) *
abc, большое спасибо, заработала =)

ошибочка вышла, ничего не работает =(

пишу:

QGraphicsScene scene(QRectF(-100,-100,200,200));
QGraphicsPixmapItem* pPixmapItem =
scene.addPixmap(QPixmap(QCoreApplication::applicationDirPath()+"/lua.png"));
pPixmapItem->setFlag((QGraphicsItem::ItemIsMovable));
ui->graphicsView->setScene(&scene);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 24.3.2011, 14:07
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

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




Репутация:   8  


Тебе же сказали

Цитата
Сцена, если она не член класса, должна быть создана через оператор new.


а ты опять за свое

QGraphicsScene scene(QRectF(-100,-100,200,200));


Сцена у тебя уничтожается сразу после выхода из метода
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 18.1.2025, 2:21