我正在使用此代码从网络检索和显示图像:
class Display(object):
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect('destroy', self.destroy)
self.window.set_border_width(10)
self.image = gtk.Image()
response = urllib2.urlopen('http://image.url/image.jpg').read()
pbuf = gtk.gdk.PixbufLoader()
pbuf.write(response)
pbuf.close()
self.image.set_from_pixbuf(pbuf.get_pixbuf())
self.window.add(self.image)
self.image.show()
self.window.show()
def main(self):
gtk.main()
def destroy(self, widget, data=None):
gtk.main_quit()
它可以工作,但是我现在想在图像下方显示一个文本/输入框(以便稍后检索文本)。我在下面添加了以下内容self.image.show()
:
self.entry = gtk.Entry()
self.window.add(self.entry)
self.entry.show()
但是,它吐出这个警告然后我运行它,并且输入框没有出现:
ee.py:31: GtkWarning: 试图将 GtkEntry 类型的小部件添加到 GtkWindow,但作为 GtkBin 子类,GtkWindow 一次只能包含一个小部件;它已经包含一个 GtkImage self.window.add(self.entry) 类型的小部件
不知道为什么它不允许我放置多个小部件,有没有人有解决方案?