diff options
Diffstat (limited to 'qtruby/rubylib/tutorial/t6/t6.rb')
-rwxr-xr-x | qtruby/rubylib/tutorial/t6/t6.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/qtruby/rubylib/tutorial/t6/t6.rb b/qtruby/rubylib/tutorial/t6/t6.rb new file mode 100755 index 00000000..d89203d0 --- /dev/null +++ b/qtruby/rubylib/tutorial/t6/t6.rb @@ -0,0 +1,45 @@ +#!/usr/bin/env ruby +$VERBOSE = true; $:.unshift File.dirname($0) + +require 'Qt' + +class LCDRange < Qt::VBox + +def initialize(grid) + super + lcd = Qt::LCDNumber.new(2, self, 'lcd') + + slider = Qt::Slider.new(Qt::VBox::Horizontal, self, 'slider') + slider.setRange(0, 99) + slider.setValue(0) + + lcd.connect(slider, SIGNAL('valueChanged(int)'), SLOT('display(int)')) +end + +end + +class MyWidget < Qt::VBox + +def initialize() + super + quit = Qt::PushButton.new('Quit', self, 'quit') + quit.setFont(Qt::Font.new('Times', 18, Qt::Font::Bold)) + + connect(quit, SIGNAL('clicked()'), $qApp, SLOT('quit()')) + grid = Qt::Grid.new( 4, self ) + + for c in 0..3 + for r in 0..3 + LCDRange.new(grid) + end + end +end + +end + +a = Qt::Application.new(ARGV) + +w = MyWidget.new +a.setMainWidget(w) +w.show +a.exec |