fxruby Progressbar ширина
Я не знаю, неправильно ли я понимаю всю документацию, но есть проблема, с которой я сталкиваюсь уже два дня, и я просто не понимаю, что я делаю неправильно. Я использую fxruby для создания небольшого графического интерфейса, и мне нужен индикатор прогресса в этом. Когда я инициализирую его без параметров, он просто смехотворно мал, поэтому я попытался использовать опцию 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. Может ли кто-нибудь указать мне правильный путь, пожалуйста?
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