1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#!/usr/bin/env ruby
$VERBOSE = true; $:.unshift File.dirname($0)
require 'Qt'
class LCDRange < Qt::Widget
def initialize(parent = nil)
super
lcd = Qt::LCDNumber.new(2)
slider = Qt::Slider.new(Qt::Horizontal)
slider.range = 0..99
slider.value = 0
lcd.connect(slider, SIGNAL('valueChanged(int)'), SLOT('display(int)'))
layout = Qt::VBoxLayout.new
layout.addWidget(lcd)
layout.addWidget(slider)
setLayout(layout)
end
end
class MyWidget < Qt::Widget
def initialize()
super
quit = Qt::PushButton.new('Quit')
quit.setFont(Qt::Font.new('Times', 18, Qt::Font::Bold))
connect(quit, SIGNAL('clicked()'), $qApp, SLOT('quit()'))
grid = Qt::GridLayout.new
for row in 0..3
for column in 0..3
grid.addWidget(LCDRange.new, row, column)
end
end
layout = Qt::VBoxLayout.new
layout.addWidget(quit)
layout.addLayout(grid)
setLayout(layout)
end
end
app = Qt::Application.new(ARGV)
widget = MyWidget.new
widget.show
app.exec
|