0

この例でわかるように、gtk.Label を含むウィンドウを閉じてから再度表示すると、ラベルも表示されますが、ウィンドウに gtk.Image が含まれている場合は表示されません。

import gtk,gobject

def dest(*a):
   print 1
   gobject.timeout_add(1000,dest2) 
#also, why it is impossible to show window again at once it closed?


def dest2(*a):
   print 2
   win.add(child)
   win.show_all()
   shild.queue_draw()
   print 'where is is?'

win = gtk.Window()
win.connect('delete-event', dest)
l = gtk.Label('gtk')

image=gtk.Image()
f=fopen('some_image.png','r')
loader = gtk.PixbufLoader()
loader.write(f.read())
loader.close()
f.close()
image.set_from_pixbuf(loader.get_pixbuf())

child=image
#child=l  #so, if uncomment this string - everything is perfect
win.add(child)
win.show_all()
gtk.main()
4

1 に答える 1

0

@scythargon

shild.queue_draw()とは何ですか?ともかく:

def dest2(*a):
   print 2
   image.set_from_pixbuf(loader.get_pixbuf())      # <<<---- add this "and your hair will be soft and silky"
   win.add(child)
   win.show_all()
#   shild.queue_draw()
   print 'where is is?'

そして私のpygtkは言う:loader = gtk.gdk.PixbufLoader()

#また、ウィンドウを閉じたときに再びウィンドウを表示できないのはなぜですか?

dest()で「returnTrue」を使用してみてください

于 2012-11-16T09:16:49.163 に答える