好的,所以我不確定鞋子上的很多東西,但是到目前爲止,我的試驗和錯誤方法已經失敗了。如何在鞋子中使用進度條?
我有一個類做了一些計算,需要一段時間,我想拋出一個進度條,讓用戶看完成。如果傳遞了一個塊我的計算密集的方法產生的完成百分比:
class MathyStuff
def initialize()
end
## Some expensive, time consuming method which yields it's percent complete
def expensiveMethod(&block)
0.upto(100) do |i|
0.upto(100000) do |j|
k = j;
end
yield i.to_f/100;
end
end
end
這裏就是我想要像的鞋說:
require 'MathyStuff.rb'
Shoes.app do
@myMathyStuff = MathyStuff.new();
button("Do expensive mathy thing...") do
window() do
@progress = progress();
@myMathyStuff.expensiveMethod() {|percent| @progress.fraction = percent;}
end
end
end
但它似乎並沒有工作。我嘗試了/沒有窗口調用,我嘗試了各種方式的animate(),我甚至嘗試調用Thread.new並將它傳遞給窗口塊,讓他們通過Shoes.APPS()[0] .get/setPercent方法;似乎沒有任何工作正常。
也許我沒有按照它的意圖使用進度條。然後再一次,還有什麼進展吧? ;-)
謝謝,這有很大的幫助。看起來GUI編程,即使在Shoes中,也需要以不同的方式來思考事物。我很快會回覆更多的問題,我確信! – shawn 2009-05-02 21:05:22