gpt4 book ai didi

python - 如何为 Inkscape 扩展制作进度条?

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:10 24 4
gpt4 key购买 nike

我用 Python 编写的 Inkscape 扩展做了一些需要相当长时间的大量工作。如何添加进度条以显示当前已处理数据的百分比和“取消”按钮?

最佳答案

创建一个回调函数,在每次操作后调用。

考虑以下场景。想象一下 do_work 是工作函数的方法。创建一个函数fallback,该函数将在您需要状态更新的每个操作后调用。

def do_work(*args, **kwargs, fallback=None):

while processing_some_condition:

# You will need to find a way to get your total data value
total_data = total_value

"""
Do your processing call with *args & **kwargs
....
....
....
....
"""

elapsed_data = some_value # Get the remaining amount of data

if elapsed_data == total_data:
break

if fallback:
fallback(elapsed, total)

return your_result

现在的问题是如何实现回退来显示进度条。这是解释 https://gist.github.com/ab9-er/843d1af20049e72e2016 的要点。

另一个简单的后备可能就是这样简单

def fallback(elapsed, total):
tx_pc = lambda chunk, full: chunk * 100 / full
print str(tx_pc(elapsed, total)) + "% operation completed"

if tx_pc(elapsed, total) == 100:
print "Operation complete: 100%"

希望这有帮助。如果没有,请告诉我。

关于python - 如何为 Inkscape 扩展制作进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34290376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com