Python PyGTK回调函数未逐步执行
我不熟悉Python和GTK。我试图显示一个对话框,其中包含一些文本,看起来像是后面正在加载的内容。代码如下: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
#!/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给它的确切名字。