Код: Выделить всё
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QImage, QPixmap
from PyQt6.QtWidgets import QWidget, QApplication, QLabel, QVBoxLayout
app = QApplication([])
window = QWidget()
window.resize(200, 200)
picture_view = QLabel('Image View')
def wrap():
qimage = QImage(b"\x00\x00\xff\xff"*200*200, 200, 200, QImage.Format.Format_RGB32)
return QPixmap.fromImage(qimage)
pixmap = wrap()
picture_view.setPixmap(pixmap)
layout = QVBoxLayout(window)
layout.addWidget(picture_view)
window.show()
app.exec()

Если Я удаляю функцию Wrap(), поэтому средняя часть остается просто
Код: Выделить всё
qimage = QImage(b"\x00\x00\xff\xff"*200*200, 200, 200, QImage.Format.Format_RGB32)
pixmap = QPixmap.fromImage(qimage)
picture_view.setPixmap(pixmap)
Кто-нибудь знает, считается ли это ошибкой в PyQt6 или мой код нарушает какой-то установленный принцип?
Так ли это? есть ли способ сохранить структуру, в которой qimage существует только в Wrap(), без этого повреждения? Какой-то способ указать экземпляру QPixmap загрузить данные в себя?
Или это официальный совет, согласно которому пользователю необходимо хранить копию QImage даже после передачи ее в QPixmap?
Спасибо, что уделили время.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -fromimage