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
|
#!/usr/bin/env ruby
$VERBOSE = true; $:.unshift File.dirname($0)
require 'Qt4'
require 'lcdrange.rb'
class MyWidget < Qt::Widget
def initialize(parent = nil)
super(parent)
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
previousRange = nil
for row in 0..3
for column in 0..3
lcdRange = LCDRange.new(self)
grid.addWidget(lcdRange, row, column)
if previousRange != nil
connect( lcdRange, SIGNAL('valueChanged(int)'),
previousRange, SLOT('setValue(int)') )
end
previousRange = lcdRange
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
|