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