0
Shoes.app do
  flow do
    file = "something with variable length"
    para "Loading #{file}: "
    progress :width => -300
  end
end

正如您从代码中看到的那样,我试图显示一个从文本末尾到应用程序窗口右边缘的进度条。当文本具有固定长度时,此解决方案有效,但一旦文本在上述片段中更改长度,它就不起作用:进度条的空间太少或太多。

这个问题有解决方案吗?

我尝试询问 para 元素它的宽度,但它是 0???

4

1 回答 1

1

正如我之前提到的,您必须在计算后获取文本块的宽度。试试这个:

Shoes.app do
  flow do
    file = "something with variable length"
    @p = para "Loading #{file}: "
    @prog = progress
    start do
      @prog.width = @prog.parent.width - @p.width
    end
  end
  button 'Change text!' do
    text = @p.text
    @p.text = text + '1'
    @prog.width = @prog.parent.width - @p.width    
  end
end
于 2009-08-18T15:19:28.930 回答