GTK进度条脉动Python

0 投票
3 回答
1895 浏览
提问于 2025-04-15 22:33

我该怎么让进度条在运行另一个功能的时候“脉动”?

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

这里有一个例子,教你怎么做,点击这里查看

撰写回答