Почему мне нужно присвоить QBuffer переменной, чтобы не сбой QImageReader?
Это такая странная ошибка, если это вообще ошибка.
Это работает:
from PySide6.QtCore import QBuffer, QByteArray, QFile, QIODevice
from PySide6.QtGui import QImageReader
image_path = Path('/home/p10/testIAMAGAGADS.png')
file = QFile(image_path)
file.open(QIODevice.ReadOnly)
blob = file.readAll()
buffer = QBuffer(blob)
image_reader = QImageReader(buffer)
Это приводит к сбою PySide6:
from pathlib import Path
from PySide6.QtCore import QBuffer, QByteArray, QFile, QIODevice
from PySide6.QtGui import QImageReader
image_path = Path('/home/p10/testIAMAGAGADS.png')
file = QFile(image_path)
file.open(QIODevice.ReadOnly)
blob = file.readAll()
image_reader = QImageReader(QBuffer(blob))
Я бы ожидал, что объект, созданный в определенной области (хотя и переданный в качестве аргумента), останется живым, по крайней мере, до конца этой области. PS: То же самое происходит, когда я читаю изображение из файла в байтовый объект и передаю его в QBuffer без предварительной привязки к переменной.