我已经寻找了很长一段时间,但没有成功。在我的小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')有没有一种方法可以跳过写入磁盘?我更喜欢直接显示数据库中的图像。
提前谢谢。
发布于 2019-03-10 18:59:03
Gtk.Image有两个可能很有趣的方法。是set_from_pixbuf和set_from_surface。
如果您选择surface-way,则可能需要install pycairo,因为它不随python3-gi提供。要制作一个表面,你需要获取你的图像并使用create_for_data。
也许,pixbuf-way更简单。看一看this answer,了解GdkPixbufLoader如何从数据创建GdkPixbuf。
https://stackoverflow.com/questions/55079614
复制相似问题