我不知道我是否完全弄错了整个文档,但有一个问题我已经处理了两天,我就是不明白我做错了什么。我正在使用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
但它看起来是这样的:
]1
所以很明显,高度发生了变化。显然,我也在构造函数中尝试了诸如:width => 150之类的东西,但它根本不起作用。看起来我对fxruby太愚蠢了。有人能告诉我怎么走吗?
发布于 2018-01-23 04:17:30
您需要了解布局参数。尝试修改您的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
https://stackoverflow.com/questions/48386364
复制相似问题