因此,我尝试用数据填充QByteArray(然后将其保存到数据库中)。我使用QFileDialog来获取图片,QPixmap将其绘制在网格中,并且它工作正常,但是QByteArray(通过sqlalchemy存储在db中)在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()
那么,我做错了什么?
答案 0 :(得分:2)
我认为你需要在调用pixmap.save()时指定图像文件格式,如下所示:
pixmap.save(buffer, 'PNG')
希望这有帮助,尊重