如何从QLabel发送图像,将其存储在变量中,然后将其保存在Postgresql列中



早上好,我正在使用Python开发一个客户注册程序,使用PyQT,我已经能够开发在QLabel中选择图像供用户查看的可能性,但我已经尝试了多种方法将其保存在变量中,然后将其发送到我的数据库。有人知道更好的方法吗?

我附上了我所拥有的关于发送此图像的代码,但它导致了类型错误";无法适应类型"QByteArray"<类"psycopg2.ProgrammingError">quot;:

imagen=self.labelImagen.pixmap((bArray=QByteArray((bufer=Q缓冲区(b数组(bufer.open(QIODevice.WriteOnly(bufer.close((imagen.save(bufer,"PNG"(

您可以使用Qt的数据库接口,而不是psycopg2,但如果您已经在使用它并想继续使用它,它会是这样的:

imagen = self.labelImagen.pixmap()
bArray = QByteArray()
bufer = QBuffer(bArray)
bufer.open(QIODevice.WriteOnly) 
imagen.save(bufer, "PNG")
byte_data = bArray.data()
cur.execute("INSERT INTO yourTable(columnOfbyteaType) VALUES(%s)",
psycopg2.Binary(byte_data))

相关内容

最新更新