2012-07-12 110 views
0

我正在尝试添加,如果用户需要,请从python中的窗口小部件更改图像。使用gtk.image.set_from_file替换图像

我使用格莱德与GTK2 +,蟒蛇2.7.3,而这些是我在做什么

image = gtk.Image() 
image.set_from_file("MyImagePath.png") 
image.show() 

button = App.get_object('buttonExample') 
button.add(image) 

,这就是我得到的时候尝试改变形象

GtkWarning:尝试将类型为GtkImage的窗口小部件添加到GtkAspectFrame的 ,但作为GtkBin子类,GtkAspectFrame只能在一次包含一个窗口小部件的情况下使用 ;它已经包含了类型的控件 GtkImage

图像是否正确装入不如预期,但如果我改变图像的输入路径,我想我可以改变的按钮图像,但这不是我什么获得。

我试图用gtk.Image.clear(),但它说我不能使用它上的按钮(也许我只是插科打诨的东西)

是否有加载和重新加载图像到一个好办法按钮?

THX

回答

1

您可能已添加一个新的之前删除从按钮的旧图像(错误信息是非常简单的关于这一点),或者你可以尝试改变当前的图像:

button.get_child().set_from_file("MyImagePath.png") 
+0

这正是我所需要的。我使用了图像中的清晰图像,并清除了按钮图像,如下所示: 'App.get_object('buttonExample')。remove(image) image.clear()' – 2012-07-17 16:46:11

0

这正是我所需要的。我用清晰的图像,如你所说,也清理了按钮图像,如下:

App.get_object('buttonExample').remove(image) 
image.clear() 

非常感谢你的帮助!