Почему мне нужно присвоить 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 без предварительной привязки к переменной.

0 ответов

Другие вопросы по тегам