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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Изображение на сцене  (Прочитано 5788 раз)
olejOK17
Гость
« : Март 31, 2015, 22:40 »

Помогите, как добавить изображение на сцену?
В чем косяк? Почему ничего не отображается?

Код:
    QGraphicsScene *scene = new QGraphicsScene;
    scene->addPixmap(QPixmap(qApp->applicationDirPath()+"/cat.jpg"));
    ui->graphicsView->setScene(scene);
    ui->graphicsView->show();
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Март 31, 2015, 23:41 »

Все добавляется, проверьте путь к картинке, она должна быть в той же папке, что и ехе-шник Улыбающийся
Записан

Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #2 : Апрель 01, 2015, 10:20 »

JPG может не читаться без соответствующего плагина. Причем, молча.
Чтобы помочь делу, надо в папку программы поместить папку IMAGEFORMATS, а туда соответствующий плагин (qjpeg4.dll, например).
Возможно, есть и другой путь, но я, перебрав кой-какие, остановился на этом, самом тупом.
Записан
Zerkin
Чайник
*
Offline Offline

Сообщений: 98


Просмотр профиля
« Ответ #3 : Апрель 01, 2015, 11:00 »

JPG может не читаться без соответствующего плагина. Причем, молча.
Чтобы помочь делу, надо в папку программы поместить папку IMAGEFORMATS, а туда соответствующий плагин (qjpeg4.dll, например).
Возможно, есть и другой путь, но я, перебрав кой-какие, остановился на этом, самом тупом.

Решал именно этим способом такую проблему. Насколько я знаю, это стандартные действия, ничего тупого в этом нету. Даже в экзамплах, вроде как, поступали так же.
Записан
olejOK17
Гость
« Ответ #4 : Апрель 01, 2015, 16:35 »

JPG может не читаться без соответствующего плагина. Причем, молча.
Чтобы помочь делу, надо в папку программы поместить папку IMAGEFORMATS, а туда соответствующий плагин (qjpeg4.dll, например).
Возможно, есть и другой путь, но я, перебрав кой-какие, остановился на этом, самом тупом.

Решал именно этим способом такую проблему. Насколько я знаю, это стандартные действия, ничего тупого в этом нету. Даже в экзамплах, вроде как, поступали так же.
  В какую конкретно папку IMAGEFORMATS помещать? Попробовал и в папку Qt и в папку с проектом. Ничего не выходит. Где я снова свернул не туда?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #5 : Апрель 01, 2015, 16:45 »

Сначала попробуйте вывести QImageReader::supportedImageFormats() там будут поддерживаемые форматы
Убедитесь что там есть jpg / jpeg
Записан

Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #6 : Апрель 01, 2015, 17:11 »

Сначала попробуйте вывести QImageReader::supportedImageFormats()
Да, забыл упомянуть. За одно проверьте ico.
При этом если поместить подпапку  IMAGEFORMATS, результат будет другой
Записан
Отражение луны
Гость
« Ответ #7 : Апрель 01, 2015, 19:06 »

 В какую конкретно папку IMAGEFORMATS помещать? Попробовал и в папку Qt и в папку с проектом. Ничего не выходит. Где я снова свернул не туда?
В папку с exeшником (в Вашем случае это папка, куда проект собирается, а не папка с .pro файлом). Вот только при корректно установленном на комп Qt приложение должно само найти все нужные ему либы, imageformast нужно копировать уже для использования приложения на другом компе, где нет Qt.
Записан
Zerkin
Чайник
*
Offline Offline

Сообщений: 98


Просмотр профиля
« Ответ #8 : Апрель 02, 2015, 09:46 »

Как уже указали выше, папку imageformats нужно положить рядом с исполняемым файлом.
Записан
olejOK17
Гость
« Ответ #9 : Апрель 03, 2015, 15:06 »

 В какую конкретно папку IMAGEFORMATS помещать? Попробовал и в папку Qt и в папку с проектом. Ничего не выходит. Где я снова свернул не туда?
В папку с exeшником (в Вашем случае это папка, куда проект собирается, а не папка с .pro файлом). Вот только при корректно установленном на комп Qt приложение должно само найти все нужные ему либы, imageformast нужно копировать уже для использования приложения на другом компе, где нет Qt.
  Спасибо. А не подскажите как организовать масштабирование этого изображения на сцене в QGraphicsView?
Записан
Zerkin
Чайник
*
Offline Offline

Сообщений: 98


Просмотр профиля
« Ответ #10 : Апрель 03, 2015, 15:20 »

У QGraphicsItem'а есть соответствующие методы. setScale(qreal factor), например. У вьюва тоже есть интструменты для работы с масштабированием и трансформацией. Посмотрите документацию подробнее.
Записан
billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« Ответ #11 : Апрель 14, 2015, 00:47 »

Помогите, как добавить изображение на сцену?
В чем косяк? Почему ничего не отображается?

Код:
    QGraphicsScene *scene = new QGraphicsScene;
    scene->addPixmap(QPixmap(qApp->applicationDirPath()+"/cat.jpg"));
    ui->graphicsView->setScene(scene);
    ui->graphicsView->show();

Если у вас Windows, то попробуйте вот так:
                  scene->addPixmap(QPixmap("../cat.jpg"));
Если Linux, то так:
                  scene->addPixmap(QPixmap("./cat.jpg"));
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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