Russian Qt Forum
Мая 14, 2025, 02:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Изображение на сцене  (Прочитано 6000 раз)
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.021 секунд. Запросов: 20.