fxruby进度条宽度

时间:2018-01-22 16:41:18

标签: ruby fxruby

我不知道我是否完全错误地提出了整个文档,但是我已经处理了两天以来的问题,而我只是不知道我做错了什么。我正在使用fxruby构建一个小型GUI,我需要一个进度条。当我初始化它没有参数时它只是非常小,所以我尝试使用barSize选项(负责宽度,至少文档说这样)。这是我的源代码:

require 'fox16'
require 'pp'

include Fox

class Test < FXMainWindow
  def initialize(app)
    super(app, "Test")

    hFrame1 = FXHorizontalFrame.new(self)

    @progBar = FXProgressBar.new(hFrame1)
    pp @progBar.barSize
    @progBar.barSize=100
    @progBar.setTotal(10)
    @progBar.setProgress(5)
    pp @progBar.barSize


    def create
      super
      show(PLACEMENT_SCREEN)
    end

  end
end

FXApp.new do |app|
    Test.new(app)
    app.create
    app.run
end

但这就是它的样子:

![enter image description here] 1

显然,高度变了。显然我也尝试过类似的东西     :width =&gt; 150 在构造函数中但它根本不起作用。好像我只是为了fxruby而愚蠢。有人能以正确的方式指出我吗?

1 个答案:

答案 0 :(得分:1)

您需要了解布局参数。试试Test课程的这个修改,我想你会知道去哪里:

class Test < FXMainWindow
  def initialize(app)
    super(app, "Test", :width => 200, :height => 100)

    hFrame1 = FXHorizontalFrame.new(self, LAYOUT_FILL)

    @progBar = FXProgressBar.new(hFrame1, :opts => LAYOUT_FILL_X)
    pp @progBar.barSize
    @progBar.barSize=10
    @progBar.setTotal(10)
    @progBar.setProgress(5)
    pp @progBar.barSize


    def create
      super
      show(PLACEMENT_SCREEN)
    end

  end
end