Python Gtk3 GtkImage

时间:2019-03-09 16:46:21

标签: python-3.x sqlite gtk3

我已经搜索了很长时间,但是没有成功。 在我的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')

是否可以跳过写入磁盘的方法?我更想直接从数据库显示图像。

谢谢。

1 个答案:

答案 0 :(得分:1)

Gtk.Image有两种可能很有趣的方法。是set_from_pixbufset_from_surface

如果选择surface方式,则可能需要install pycairo,因为python3-gi没有提供。要制作表面,请获取图像并使用create_for_data

pixbuf方式可能更简单。查看this的答案,以了解GdkPixbufLoader如何根据数据创建GdkPixbuf。