PyGTK设置了窗口图标与股票图像

Kev*_*n S 6 python gtk icons pygtk gdkpixbuf

我觉得这应该很简单,但我想我错过了一些东西.

所以我想用一个库存图像设置一个窗口的图标.我试过了:

windowIcon = gtk.image_new_form_stock(gtk.STOCK_DIALOG_AUTHENTICATION, gtk.ICON_SIZE_MENU)
window.set_icon(windowIcon.get_pixbuf())
Run Code Online (Sandbox Code Playgroud)

然后Python抱怨说:

文件"./sample.py",第44行,在init
window.set_icon(windowIcon.get_pixbuf())
ValueError:image应为GdkPixbuf或为空

我尝试将gtkImage转换为GdkPixbuf,因为当我没有python抱怨时

TypeError:icon应为GdkPixbuf或None

在pygtk文档中,它说:

如果映像的存储类型不是gtk.IMAGE_EMPTY或gtk.IMAGE_PIXBUF,则会引发ValueError异常.

所以我猜测库存图像的存储类型是错误的.问题是如何解决这个问题?

And*_*ele 4

您可以在任何 GtkWidget 上使用 .render_icon() 方法来提供库存项目作为图标。

windowicon = window.render_icon(gtk.STOCK_DIALOG_AUTHENTICATION, gtk.ICON_SIZE_MENU)
window.set_icon(windowicon)
Run Code Online (Sandbox Code Playgroud)