0

我正在尝试添加,如果用户需要,从 python 中的小部件更改图像。

我将 Glade 与 gtk2+、python 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(),但它说我不能在按钮上使用它(也许我只是把事情搞砸了)

有没有一种好方法可以将图像加载和重新加载到按钮?

谢谢

4

2 回答 2

1

您要么必须在添加新图像之前从按钮中删除旧图像(错误消息对此非常简单),要么您可以尝试更改当前图像:

button.get_child().set_from_file("MyImagePath.png")
于 2012-07-16T08:45:40.473 回答
0

这正是我所需要的。如你所说,我在图像中使用了 clear 并且还清理了按钮图像,如下所示:

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

非常感谢您的帮助!

于 2012-07-17T16:49:03.453 回答