gpt4 book ai didi

pharo - 如何在 Pharo 中显示进度条?

转载 作者:行者123 更新时间:2023-12-05 09:14:52 27 4
gpt4 key购买 nike

我在 Pharo 中有一个 do: 需要很长时间来处理。我想向用户展示它的进度。这在 Pharo 中是如何完成的?

最佳答案

这里有两种方式:

  1. Collection 借鉴了 UIManager 并支持 displayingProgress: every: milliseconds 变体 做::

    (1 to: 60)
    do: [ :e | (Delay forSeconds: 0.5) wait "simulate a delay" ]
    displayingProgress: [ :e | 'waiting ' , e asString ] every: 1000

    你可以在这个例子中尝试一下 every: 看看如果你将它设置为小于 1000 毫秒,它会更频繁地更新(将它设置为 100 将显示间隔的每个值).

    此外,您可以简单地使用 displayingProgress: 'Waiting...' 来始终只显示相同的字符串,而不会出现阻塞。

  2. 使用 Job 类。这是与上述类似的解决方案:

    myColl := 1 to: 20.
    [ :job |
    myColl
    do: [ :e |
    job
    progress: e / myColl size;
    title: 'waiting ' , e asString.
    (Delay forSeconds: 0.5) wait ] ] asJob run

关于pharo - 如何在 Pharo 中显示进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53375593/

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