我在Pharo中有一个do:
,需要花很长时间来处理。我想向用户展示它的进度。在Pharo中如何完成?
答案 0 :(得分:7)
有两种方法:
Collection
从UIManager
借用并支持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:
仅在整个时间内仅显示相同的字符串,而不会出现阻塞。
使用displayingProgress: 'Waiting...'
类。这是与上述类似的解决方案:
Job