Как создать QPicture из ресурса в Qt? - PullRequest
1 голос
/ 08 июня 2010

У меня есть ресурс на :images/pic.gif

Могу ли я сделать QPicture из этого ресурса или его нужно загрузить из файла?

Ответы [ 3 ]

3 голосов
/ 08 июня 2010

QPicture для записи команд QPainter, а не для данных изображения. Если вы хотите загрузить изображение, используйте QPixmap или QImage. Вы можете использовать их методы load (). Для доступа к файлу изображения, связанному как ресурс, используйте «: /» для доступа к ресурсу: «: /someFile.png» Точные пути и имена файлов указаны в файлах qrc.

1 голос
/ 08 июня 2010

Я думаю, что ваш вопрос похож на добавление images / pic.gif в файл ресурсов, независимо от того, нужно ли к нему обращаться из файла ресурсов или непосредственно из images / pic.gif .

Теперь мой ответ на вопрос: даже если вы добавили изображения в файл ресурсов и получили к нему доступ, он косвенно получит доступ к самому физическому файлу. Чтобы проиллюстрировать это, после добавления images / pic.gif в файл ресурсов попробуйте удалить images / pic.gif из местоположения и доступа в вашем приложении. Вы не сможете получить изображение. Таким образом, даже если вы добавите его в файл ресурсов, он будет похож на доступ к физическому файлу в его первоначальном расположении. Посетите страницу Qt Resources .

Но это хорошая практика и логично организовать необходимые файлы в файл ресурсов, чтобы все необходимые файлы находились в одном месте.

Используя QPicture, вы можете загрузить его в свое приложение через

bool QPicture::load ( const QString & fileName, const char * format = 0 )
0 голосов
/ 08 июня 2010

Вы должны использовать Qicon или Qpixmap для загрузки изображений с ресурса. QPIcture используется для сохранения изображения.

...