QGraphicsPixmapItem не отображается в QGraphicsScene в развернутом режиме

Со следующим кодом на моей рабочей станции (QtCreator работает «вручную») все работает нормально. Но на другом компьютере без установки Qt мое приложение не отображает QGraphicsPixmapItem.

image = new QGraphicsPixmapItem(QPixmap(urlFile));
image->setZValue(-5000.0);
scene->setSceneRect(QRectF(0, 0, image->pixmap().width() + 200, image->pixmap().height() + 200));
scene->addItem(image);
view->setMaximumWidth(image->pixmap().width() + 200);
view->setMaximumHeight(image->pixmap().height() + 200);

qreal centerX = (scene->width() / 2.0) - (image->pixmap().width() /2.0);
qreal centerY = (scene->height() / 2.0) - (image->pixmap().height() /2.0);;
image->setOffset(QPointF(centerX, centerY));

Ты знаешь почему ?


person canardman    schedule 05.01.2011    source источник


Ответы (1)


Я знаю почему :)

Для использования jpg и gif необходимы следующие dll: qgif4.dll, qjpeg4.dll.
На самом деле развернутое приложение по умолчанию поддерживает только следующие форматы: bmp, pbm, png, ppm, xbm, xpm.

Ранее dll можно было найти в QTDIR/qt/plugins/imageformats/

Чтобы добавить поддержку других форматов изображений в развернутое приложение, создайте каталог imageformats/ на том же уровне, что и ваш исполняемый файл, и поместите в него нужную DLL.

person canardman    schedule 05.01.2011