PyGTK回调函数不是一步一步执行的

时间:2017-02-06 07:44:53

标签: 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 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()

我希望显示以下每个1秒后出现的4个点(。)的文本。我面对的问题是当我点击按钮时,对话框在5秒后出现所有4个点。代码有什么问题? 如果有更好的方法可以做到这一点会很棒。

0 个答案:

没有答案