私はこのコードを使用して、Webから画像を取得して表示しています。
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には一度に1つのウィジェットしか含めることができません。すでにタイプGtkImageself.window.add(self.entry)のウィジェットが含まれています
なぜ複数のウィジェットを配置できないのかわかりませんが、誰かがこれに対する解決策を持っていますか?