Данные изображения блоба загрузки в QPixmap

Я полагаю, что это не enforcable во время компиляции - Если Вы хотите удостовериться, что это не находится ни на каких несоответствующих полях, необходимо было бы проверить при выполнении/времени загрузки.

6
задан Bing Jian 19 August 2009 в 15:52
поделиться

3 ответа

Вы можете использовать статический метод QImage.fromData, чтобы загрузить изображение из строки и затем преобразовать его в растровое изображение:

 image_data = get_image_data_from_blob()
 qimg = QtGui.QImage.fromData(image_data)
 pixmap = QtGui.QPixmap.fromImage(qimg)
10
ответ дан 8 December 2019 в 17:25
поделиться

Подход, предложенный Антсом Аасмой, работает, и на самом деле можно просто использовать следующий код:

image_data = cPickle.loads(str(s)) # s is fetched from DB 
qp = QPixmap() 
qp.loadFromData(image_data) 

Большое спасибо за помощь и информацию.

4
ответ дан 8 December 2019 в 17:25
поделиться

После хороших полтора часа гуглинга для решения похожей проблемы, я в итоге загрузил JPEG в скомпилированный .exe с QT. Я использую python3.1, и поэтому не смог использовать некоторые из вышеперечисленных решений :

  • подсказки, работающие на py2exe (так как я использую cxfreeze вместо py2exe, так как py2exe работает только на python2),
  • подсказки, требующие PIL (также только на python2, afaik).

Хотя решения, размещенные здесь, не сработали, что-то очень похожее сработало: Я просто скопировал [PythonDir]\Lib\site-packages\PyQt4\plugins\imageformats в папку моего бывшего и удалил qt.conf файл, который я создал в этой папке после других решений. Это все (я думаю :p).

После этого, это работало независимо от того загружал ли я jpg используя конструктор QPixmap или сначала загружал QImage. Он также работал без специальной опции, необходимой как для setup.py, так и для cxfreeze.bat методов компиляции в exe с использованием cxfreeze.

(это решение было размещено jbz на http://www.thetoryparty.com/wp/2009/08/27/pyqt-and-py2app-seriously-i-dont-know-what-to-do-with-you-when-youre-like-this/)

Этот вопрос немного старый, но так как проблема, кажется, все еще существует, я надеюсь, что этот ответ поможет пользователям python3.1 там.

0
ответ дан 8 December 2019 в 17:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: