ruby - fxruby 进度条宽度

标签 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

很明显,高度发生了变化。显然我也尝试过类似的东西 :宽度=> 150 在构造函数中,但它根本不起作用。似乎我只是对 fxruby 愚蠢。谁能指出我正确的方法?

最佳答案

您需要了解布局参数。尝试修改您的 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

关于ruby - fxruby 进度条宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48386364/

相关文章:

ruby - 如何在 Ruby 中获取数组的最后一个元素?

ruby - 通过 macports 安装了 fxruby,现在 ruby​​gems 坏了

ruby - 创建美观、多平台、桌面 Ruby 应用程序的最佳方式?

Ruby 在 Ubuntu 上需要 Fox 错误

ruby - 如何根据条件将哈希拆分为两个哈希?

ruby - 如何使用 rest-client 从 Waze 获取 GPS 数据?

ruby - 如何在 Mac 上为 Ruby 添加根 CA 证书

ruby-on-rails - "Printf"在 Rails 中测试