我已经搜索了很长时间,但是没有成功。 在我的python3.6小应用程序中,我正在从sqlite数据库读取图像,并将其写入png文件
cur = self.con.cursor()
cur.execute('SELECT image FROM image WHERE id IS ?', str(uid))
image = cur.fetchone()[0]
fout = open('temp.png', 'wb')
fout.write(image)
fout.close()
仅将其读回以显示使用
self.preview.set_from_file('temp.png')
其中预览是使用创建的GtkImage
self.preview = builder.get_object('preview')
是否可以跳过写入磁盘的方法?我更想直接从数据库显示图像。
谢谢。
答案 0 :(得分:1)
Gtk.Image
有两种可能很有趣的方法。是set_from_pixbuf和set_from_surface。
如果选择surface
方式,则可能需要install pycairo,因为python3-gi
没有提供。要制作表面,请获取图像并使用create_for_data。
pixbuf
方式可能更简单。查看this的答案,以了解GdkPixbufLoader
如何根据数据创建GdkPixbuf。