如何在Pharo中显示进度栏?

时间:2018-11-19 13:23:27

标签: pharo

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

1 个答案:

答案 0 :(得分:7)

有两种方法:

  1. CollectionUIManager借用并支持displayingProgress:的{​​{1}} every: milliseconds变体:

    do:

    在此示例中,您可以使用(1 to: 60) do: [ :e | (Delay forSeconds: 0.5) wait "simulate a delay" ] displayingProgress: [ :e | 'waiting ' , e asString ] every: 1000 来查看,如果将其设置为小于1000毫秒,它将更新的频率更高(将其设置为100将为您显示间隔的每个值)。

    此外,您可以简单地使用every:仅在整个时间内仅显示相同的字符串,而不会出现阻塞。

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

    Job