【问题标题】:replace image using gtk.image.set_from_file使用 gtk.image.set_from_file 替换图像
【发布时间】:2012-07-12 21:52:56
【问题描述】:

我正在尝试添加,如果用户需要,从 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(),但它说我不能在按钮上使用它(也许我只是把事情搞砸了)

有没有一种很好的方法来加载和重新加载图像到按钮?

谢谢

【问题讨论】:

    标签: image widget python-2.7 pygtk glade


    【解决方案1】:

    您必须先从按钮中删除旧图像,然后再添加新图像(错误消息对此非常简单),或者您可以尝试更改当前图像:

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

    【讨论】:

    • 这正是我所需要的。我按照你说的在图片中使用了clear,还清理了按钮图片,如下:'App.get_object('buttonExample').remove(image) image.clear()'
    【解决方案2】:

    这正是我所需要的。我按照你说的用了图片中的clear,还清理了按钮图片,如下:

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

    非常感谢您的帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-17
      • 2023-03-13
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 2018-03-27
      • 2011-07-11
      相关资源
      最近更新 更多