Как добавить изображение Pillow в PyQt5?
Я хочу написать подобие редактора фотографий на языке Python. Для работы с фотографиями я использую библиотеку Pillow.
Проблема в том, что хочется создать не просто консольный вариант, а программу с пользовательским интерфейсом и предварительным просмотром изображений ( для этого я использую PyQt5 ).
Каким образом можно в PyQt5 вывести на экран изображение Pillow? Пример:
image = Image.open('cat.jpg')
Единственное что я нашел, это обычный вывод изображений, путем открытия файла. Есть идея после каждого изменения сохранять файл cat.jpg и открывать его через PyQt5, но это будет очень не оптимизировано. По крайней мере я так думаю.
Ответы (1 шт):
метод, для встраивания картинки Pillow в PyQt5 может выглядеть так:
import sys
from PyQt5.Qt import *
from PIL import Image, ImageOps, ImageFilter
from PIL.ImageQt import ImageQt
class Example(QWidget):
def __init__(self):
super().__init__()
image = Image.open("img/cat.jpg")
image = image.convert("RGBA")
qim = ImageQt(image)
self.pixmap = QPixmap(QImage(qim))
label = QLabel()
label.setPixmap(self.pixmap)
layout = QVBoxLayout(self)
layout.addWidget(label)
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setStyle("Fusion")
ex = Example()
ex.show()
sys.exit(app.exec_())
