GTK进度条脉动Python
我该怎么让进度条在运行另一个功能的时候“脉动”?
3 个回答
0
如果你的函数需要运行很多次,每次运行的时间都不太长,那么你其实不需要去搞什么单独的线程。你还可以让图形界面在你进行长时间计算的时候自己更新:
def long_function(some_args):
while task_is_not_finished():
do_some_stuff_that_doesnt_take_too_long()
progress_bar.pulse()
while gtk.events_pending():
gtk.main_iteration()
1
把另一个函数放到一个单独的线程里去。只要你的主线程在执行任何代码,图形界面就会卡住。这对短小的代码来说没什么问题,但显然在你的情况下就成了问题。
另外,可以看看PyGTK常见问题解答,里面有关于在PyGTK程序中使用线程的相关信息。
1
这里有一个例子,教你怎么做,点击这里查看。