Sha256: ec8e31322a09662f2d0d11eb40705193687c644d95ba35ce62c7159d30b41b81

Contents?: true

Size: 1.4 KB

Versions: 7

Compression:

Stored size: 1.4 KB

Contents

#!/usr/bin/env ruby
$VERBOSE = true; $:.unshift File.dirname($0)

require 'Qt'
require_relative 'lcdrange.rb'
require_relative 'cannon.rb'

class MyWidget < Qt::Widget
  def initialize(parent = nil)
    super
    quit = Qt::PushButton.new('Quit')
    quit.setFont(Qt::Font.new('Times', 18, Qt::Font::Bold))

    connect(quit, SIGNAL('clicked()'), $qApp, SLOT('quit()'))

    angle = LCDRange.new(self)
    angle.range = 5..70

    force = LCDRange.new(self)
    force.range = 10..50

    cannonField = CannonField.new(self)

    connect(angle, SIGNAL('valueChanged(int)'),
            cannonField, SLOT('setAngle(int)'))
    connect(cannonField, SIGNAL('angleChanged(int)'),
            angle, SLOT('setValue(int)'))

    connect(force, SIGNAL('valueChanged(int)'),
            cannonField, SLOT('setForce(int)'))
    connect(cannonField, SIGNAL('forceChanged(int)'),
            force, SLOT('setValue(int)'))

    leftLayout = Qt::VBoxLayout.new()
    leftLayout.addWidget(angle)
    leftLayout.addWidget(force)

    gridLayout = Qt::GridLayout.new
    gridLayout.addWidget(quit, 0, 0)
    gridLayout.addLayout(leftLayout, 1, 0)
    gridLayout.addWidget(cannonField, 1, 1, 2, 1)
    gridLayout.setColumnStretch(1, 10)
    setLayout(gridLayout)

    angle.setValue(60)
    force.setValue(25)
    angle.setFocus()
  end
end

app = Qt::Application.new(ARGV)
widget = MyWidget.new
widget.setGeometry(100, 100, 500, 355)
widget.show
app.exec

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
rock-qtbindings-4.8.6.5 examples/tutorial/t10/t10.rb
qtbindings-4.8.6.5 examples/tutorial/t10/t10.rb
qtbindings-4.8.6.5-x86-mingw32 examples/tutorial/t10/t10.rb
qtbindings-4.8.6.5-x64-mingw32 examples/tutorial/t10/t10.rb
qtbindings-4.8.6.4-x86-mingw32 examples/tutorial/t10/t10.rb
qtbindings-4.8.6.4-x64-mingw32 examples/tutorial/t10/t10.rb
qtbindings-4.8.6.4 examples/tutorial/t10/t10.rb