您好我正在尝试在python 2.7.3下使用python gtk脚本;在Linux上(在X11下),它需要从磁盘加载pixbufs图像。
然而,python返回一个glib.GError:“无法识别图像文件格式”,无论我尝试打开什么类型的文件; 例如:with:pixbuf = gtk.gdk.pixbuf_new_from_file(filename)
我可以执行gtk.gdk.pixbuf_get_formats(),并且在返回的词典列表中,我尝试加载的格式列为.png,.ppm,.jpg。
但是,当我尝试gtk.gdk.pixbuf_get_file_info(filename)时,它会返回None。
其他基于GTK的程序,如Gimp,加载这些相同的图像就好了;和gtk脚本不从磁盘加载图标,但绘制按钮 - 等工作正常。
我如何搜索此故障的原因?
我错过了某种mime类型的文件吗?
是否存在使用其他gtk函数调用的替代路径,这可能会以另一种方式完成加载?
答案 0 :(得分:0)
这对我有用:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gtk
def win_with_image():
pixbuf = gtk.gdk.pixbuf_new_from_file("photo.png")
print pixbuf
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
image = gtk.Image()
image.set_from_pixbuf(pixbuf)
win.add(image)
win.connect("destroy", gtk.main_quit)
win.show_all()
if __name__ == '__main__':
win_with_image()
gtk.main()
如果这对您不起作用,请尝试: