Python PyGTK回调函数未逐步执行

Python PyGTK回调函数未逐步执行,python,callback,gtk,pygtk,Python,Callback,Gtk,Pygtk,我不熟悉Python和GTK。我试图显示一个对话框,其中包含一些文本,看起来像是后面正在加载的内容。代码如下: #!/usr/bin/env python import pygtk pygtk.require('2.0') import gtk, gobject, time class Base: def __init__(self): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) #Progress B

我不熟悉Python和GTK。我试图显示一个对话框,其中包含一些文本,看起来像是后面正在加载的内容。代码如下:

#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk, gobject, time


class Base:
    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        #Progress Bar
        self.button=gtk.Button("click")
        self.window.add(self.button)
        self.button.connect("clicked",self.display)
        self.dialog = gtk.Dialog()
        self.label = gtk.Label("Text")
        self.dialog.vbox.pack_start(self.label,True,True,0)
        self.label.show()
        self.window.show_all()

    def display(self,widget):
        self.dialog.show()
        for i in range(0,5):
            self.label.set_text("Text"+" . "*i)
            time.sleep(1)
        self.dialog.hide()

    def main(self):
        gtk.main()

print __name__
if __name__ == "__main__":
    base = Base()
    base.main()
我想在文本后面显示4个点(.),每个点在1秒后出现。我面临的问题是,当我单击按钮时,对话框在5秒后显示所有4个点。代码有什么问题?
如果有更好的方法,那就太好了。

GTK 2.0/pyGTK组合已经过时了。。。GTK 3已经推出多年了,GTK 4也出现了。如果您是从GTK和python开始学习的,请阅读本python和GTK 3教程:不要使用
time.sleep()
;改为使用glib.timeout\u add()。我不确定这是否是PyGTK给它的确切名字。