QBuffer не заполняет проблему QByteArray - PullRequest
1 голос
/ 12 января 2011

Итак, я пытаюсь заполнить QByteArray данными (а затем сохранить их в базе данных). Я использую QFileDialog для получения изображения, QPixmap для рисования в сетке, и он работает нормально, но QByteArray, который предназначен для хранения в db через sqlalchemy, пуст после QPixmap :: save (). Кроме того, сигналы, связанные с bytesWritten и readyRead, тоже не срабатывают. Pixmap в порядке, сетка содержит действительное изображение после setData.

        ba = QtCore.QByteArray()
        buffer = QtCore.QBuffer(ba)
        buffer.bytesWritten.connect(self.b)
        buffer.readyRead.connect(self.c)
        buffer.open(QtCore.QIODevice.WriteOnly)
        pixmap.save(buffer)
        buffer.close()
        ba = buffer.data()

Итак, что я делаю не так?

1 Ответ

2 голосов
/ 13 января 2011

Я думаю, вам нужно указать формат файла изображения при вызове pixmap.save (), что-то вроде этого:

pixmap.save(buffer, 'PNG')

надеюсь, это поможет, с уважением

...