Задать вопрос
@luchs
Новичок в деле программирования

Как отобразить загруженную картинку с интернета без промежуточного сохранения на диск?

Программа скачивает с интернета с помощью библиотеки requests картинку и отображает в QLabel на форме.
Сейчас программа делает это так (python 3.5):
if res.status_code == 200:
    path = "images/"+trek+"#1"+".jpg"
    with open(path, "wb") as w:
        w.write(res.content)
    img1.setPixmap(QtGui.QPixmap(path))

т.е. сохраняет картинку и потом открывает её. Как отобразить картинку сразу, не сохраняя её на диске?
На сайте я находил подобный вопрос, но не на языке python и я - новичок, разобраться не смог. Перепробовал разные варианты. Помогите нубу.
  • Вопрос задан
  • 439 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Алексей Черемисин К ответам на вопрос (2)
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Ну, можно передавать картинку из памяти - QPixmap::QPixmap(const char * const[] xpm)
Только перед этим ее нужно преобразовать изображение в массив xpm.

Еще можно:
1) сначала из потока байт создаем
QImage::QImage(uchar * data, int width, int height, Format format)

2) потом получившийся QImage переделываем в QPixmap
bool QPixmap::convertFromImage(const QImage & image, Qt::ImageConversionFlags flags = Qt::AutoColor)

3) передаем его в img1.setPixmap
Ответ написан