require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hello = QLabel.new( "Hello world!", nil ) hello.resize( 200, 200 ) hello.setAlignment(Qt::AlignCenter) a.setMainWidget( hello ) hello.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hello = QLabel.new( "Hello world!", nil ) hello.setFont( QFont.new( "Times", 18, QFont::Bold ) ) a.setMainWidget( hello ) hello.show() a.exec()
require "qt2" include Qt2 class MyMainWindow < QWidget def initialize hello = QLabel.new( "Hello world!", self ) hello.setGeometry( 100, 50, 200, 100 ) hello.setAlignment(Qt::AlignCenter) end end a = QApplication.new([$0]+ARGV) w = MyMainWindow.new a.setMainWidget( w ) w.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) vbox = QVBox.new vbox.setMargin(10) a.setMainWidget(vbox) QPushButton.new("Button1", vbox) QPushButton.new("Button2", vbox) QPushButton.new("Button3", vbox) vbox.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hbox = QHBox.new hbox.setMargin(10) a.setMainWidget(hbox) QPushButton.new("Button1", hbox) QPushButton.new("Button2", hbox) QPushButton.new("Button3", hbox) hbox.show() a.exec()
横2つに並べられる
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) grid = QGrid.new( 2, nil) grid.setMargin(10) l1 = QLabel.new( "Label1", grid ) l1.setFrameStyle(QFrame::Box | QFrame::Raised) l2 = QLabel.new( "Label2", grid ) l2.setFrameStyle(QFrame::Box | QFrame::Raised) l3 = QLabel.new( "Label3", grid ) l3.setFrameStyle(QFrame::Box | QFrame::Raised) a.setMainWidget( grid ) grid.show() a.exec()
Layout クラスを継承している QGridLayout クラスを使うと、
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) f = QFrame.new( nil ) grid = QGridLayout.new( f, 1, 2 ) grid.setMargin(10) l1 = QLabel.new("Label1", f) l1.setFrameStyle(QFrame::Box | QFrame::Raised) grid.addWidget(l1, 0, 0) l2 = QLabel.new( "Label2", f ) l2.setFrameStyle(QFrame::Box | QFrame::Raised) grid.addWidget(l2, 0, 1) l3 = QLabel.new( "Label3", f ) l3.setFrameStyle(QFrame::Box | QFrame::Raised) grid.addWidget(l3, 1, 2) a.setMainWidget( f ) f.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hello = QLabel.new( "Hello world!", nil ) a.setMainWidget( hello ) hello.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hello = QLabel.new( "Hello world!", nil ) hello.setText("Hello!") a.setMainWidget( hello ) hello.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hello = QLabel.new( "Hello world!", nil ) a.setMainWidget( hello ) hello.show() p hello.text() # => #<Qt2::QString:0x40be9c48> puts hello.text().to_str # => "Hello world!" a.exec()
日本語が含まれている場合 local8Bit で変換してから Ruby Stringに戻す。
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) codec = QTextCodec::codecForLocale() a.setDefaultCodec(codec) hello = QLabel.new(tr("こんにちは"), nil ) a.setMainWidget( hello ) hello.show() p hello.text() # => #<Qt2::QString:0x40be9c48> puts hello.text().local8Bit.to_str # => "こんにちは" a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hello = QLabel.new( "Hello world!", nil ) hello.resize( 200, 120 ) #hello.setAlignment(Qt::AlignLeft) hello.setAlignment(Qt::AlignCenter) #hello.setAlignment(Qt::AlignRight) #hello.setAlignment(Qt::AlignTop) #hello.setAlignment(Qt::AlignBottom) a.setMainWidget( hello ) hello.show() a.exec()
require "qt2" include Qt2 str = <<EOM <font size=10 color="Red"> Hello world! </font> EOM a = QApplication.new([$0]+ARGV) hello = QLabel.new( str, nil ) hello.resize( 300, 120 ) a.setMainWidget( hello ) hello.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hello = QLabel.new( "Ruby\nPython\nPerl", nil ) a.setMainWidget( hello ) hello.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) lcd = QLCDNumber.new(2, nil ) lcd.resize(100, 100) lcd.display(10) a.setMainWidget( lcd ) lcd.show() a.exec()
newするときに設定するか、もしくは、QLCDNumber#setNumDigits を使用する
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) lcd = QLCDNumber.new(nil) lcd.resize(100, 100) lcd.display(10) lcd.setNumDigits(3) a.setMainWidget( lcd ) lcd.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) lcd = QLCDNumber.new(nil ) lcd.resize(100, 100) lcd.display(10) lcd.setBinMode #lcd.setHexMode #lcd.setDecMode a.setMainWidget( lcd ) lcd.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) lcd = QLCDNumber.new(nil ) lcd.resize(100, 100) lcd.display(10) lcd.setSegmentStyle(QLCDNumber::Outline) lcd.setSegmentStyle(QLCDNumber::Filled) lcd.setSegmentStyle(QLCDNumber::Flat) a.setMainWidget( lcd ) lcd.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hello = QPushButton.new( "Hello world!", nil ) Qt2::connect( hello, QSIGNAL("clicked()"), a, "quit" ) a.setMainWidget( hello ) hello.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) vbox = QVBox.new vbox.setMargin(10) a.setMainWidget(vbox) bg = QVButtonGroup.new(vbox) bg.setTitle("Languages") #bg.setExclusive(true) cb = QCheckBox.new("Ruby", bg) cb.setChecked(true) QCheckBox.new("Python", bg) QCheckBox.new("Perl", bg) vbox.show() a.exec()
require "qt2" include Qt2 class CheckBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @cb = QCheckBox.new("Ruby", @vbox) @b1 = QPushButton.new("select", @vbox) @b2 = QPushButton.new("deselect", @vbox) @b3 = QPushButton.new("toggle", @vbox) end def callback1 @cb.setChecked(true) end def callback2 @cb.setChecked(false) end def callback3 @cb.toggle end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') Qt2::connect(@b3, QSIGNAL('clicked()'), self, 'callback3') @vbox.show() @a.exec() end end CheckBoxDemo.new.run
require "qt2" include Qt2 class CheckBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @cb = QCheckBox.new("Ruby", @vbox) @b = QPushButton.new("check", @vbox) end def callback print "#{@cb.isChecked}\n" end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end CheckBoxDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) vbox = QVBox.new vbox.setMargin(10) a.setMainWidget(vbox) bg = QVButtonGroup.new(vbox) bg.setTitle("Languages") #bg.setExclusive(true) rb = QRadioButton.new("Ruby", bg) rb.setChecked(true) QRadioButton.new("Python", bg) QRadioButton.new("Perl", bg) vbox.show() a.exec()
require "qt2" include Qt2 class RadioButtonDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) bg = QVButtonGroup.new(@vbox) bg.setTitle("Languages") @rb = QRadioButton.new("Ruby", bg) @rb.setChecked(true) QRadioButton.new("Python", bg) QRadioButton.new("Perl", bg) @b1 = QPushButton.new("select", @vbox) @b2 = QPushButton.new("deselect", @vbox) @b3 = QPushButton.new("toggle", @vbox) end def callback1 @rb.setChecked(true) end def callback2 @rb.setChecked(false) end def callback3 @rb.toggle end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') Qt2::connect(@b3, QSIGNAL('clicked()'), self, 'callback3') @vbox.show() @a.exec() end end RadioButtonDemo.new.run
require "qt2" include Qt2 class RadioButtonDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) bg = QVButtonGroup.new(@vbox) bg.setTitle("Languages") @rb = QRadioButton.new("Ruby", bg) @rb.setChecked(true) QRadioButton.new("Python", bg) QRadioButton.new("Perl", bg) @b = QPushButton.new("check", @vbox) end def callback print "#{@rb.isChecked}\n" end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end RadioButtonDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) e = QLineEdit.new("") a.setMainWidget( e ) e.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) e = QLineEdit.new("Hello!") a.setMainWidget( e ) e.show() a.exec()
require "qt2" include Qt2 class LineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @e = QLineEdit.new("Hello!", @vbox) @b = QPushButton.new("Print!", @vbox) end def callback print "#{@e.text.to_str}\n" end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end LineEditDemo.new.run
本当にこれで良い?
require "qt2" include Qt2 class LineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @e = QLineEdit.new("Hello!", @vbox) @b = QPushButton.new("Clear!", @vbox) end def callback @e.clear end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end LineEditDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) e = QLineEdit.new("") e.setEchoMode(QLineEdit::Password) a.setMainWidget( e ) e.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) e = QLineEdit.new("") e.setMaxLength(5) a.setMainWidget( e ) e.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) e = QLineEdit.new("") e.setReadOnly(true) a.setMainWidget( e ) e.show() a.exec()
require "qt2" include Qt2 class LineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @e = QLineEdit.new("Hello!", @vbox) @b1 = QPushButton.new("Cut", @vbox) @b2 = QPushButton.new("Copy", @vbox) @b3 = QPushButton.new("Paste", @vbox) end def callback1 @e.cut end def callback2 @e.copy end def callback3 @e.paste end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') Qt2::connect(@b3, QSIGNAL('clicked()'), self, 'callback3') @vbox.show() @a.exec() end end LineEditDemo.new.run
require "qt2" include Qt2 class LineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @e = QLineEdit.new("Hello!", @vbox) @b = QPushButton.new("Cursor Position", @vbox) end def callback print "#{@e.cursorPosition}\n" end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end LineEditDemo.new.run
require "qt2" include Qt2 class LineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @e = QLineEdit.new("Hello!", @vbox) end def callback print "#{@e.text.to_str}\n" end def run Qt2::connect(@e, QSIGNAL('returnPressed()'), self, 'callback') @a.setMainWidget( @e ) @e.show() @a.exec() end end LineEditDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) e = QMultiLineEdit.new(nil) a.setMainWidget( e ) e.show() a.exec()
#!/usr/bin/env ruby require "qt2" include Qt2 class MultiLineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @e = QMultiLineEdit.new(@vbox) @e.setText("Test") @b = QPushButton.new("Append", @vbox) end def callback @e.append("foo") end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end MultiLineEditDemo.new.run
#!/usr/bin/env ruby require "qt2" include Qt2 class MultiLineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @e = QMultiLineEdit.new(@vbox) @e.setText("Test") @b = QPushButton.new("get Text", @vbox) end def callback puts @e.text.to_str end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end MultiLineEditDemo.new.run
require "qt2" include Qt2 class MultiLineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @e = QMultiLineEdit.new(@vbox) @b1 = QPushButton.new("Clear", @vbox) @b2 = QPushButton.new("Undo", @vbox) @b3 = QPushButton.new("Redo", @vbox) end def callback1 @e.clear end def callback2 @e.undo end def callback3 @e.redo end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') Qt2::connect(@b3, QSIGNAL('clicked()'), self, 'callback3') @vbox.show() @a.exec() end end MultiLineEditDemo.new.run
#!/usr/bin/env ruby require "qt2" include Qt2 class MultiLineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @e = QMultiLineEdit.new(@vbox) #@e.setReadOnly(true) @e.setText("Test") @b = QPushButton.new("Read Only Toggle", @vbox) end def callback @e.setReadOnly(!@e.isReadOnly) end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end MultiLineEditDemo.new.run Read Only でもコードからは text の設定はできる
require "qt2" include Qt2 class MultiLineEditDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @e = QMultiLineEdit.new(@vbox) @b1 = QPushButton.new("Cut", @vbox) @b2 = QPushButton.new("Copy", @vbox) @b3 = QPushButton.new("Paste", @vbox) end def callback1 @e.cut end def callback2 @e.copy end def callback3 @e.paste end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') Qt2::connect(@b3, QSIGNAL('clicked()'), self, 'callback3') @vbox.show() @a.exec() end end MultiLineEditDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) list = QListBox.new(nil) for i in 0..10 list.insertItem("item #{i}") end a.setMainWidget( list ) list.show() a.exec()
require "qt2" include Qt2 class ListBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @l = QListBox.new(@vbox) @b = QPushButton.new("insert", @vbox) @i = 1 end def callback @l.insertItem("item #{@i}") @i += 1 end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end ListBoxDemo.new.run
require "qt2" include Qt2 class ListBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @l = QListBox.new(@vbox) @b1 = QPushButton.new("insert", @vbox) @b2 = QPushButton.new("clear", @vbox) @i = 1 end def callback1 @l.insertItem("item #{@i}") @i += 1 end def callback2 @l.clear end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') @vbox.show() @a.exec() end end ListBoxDemo.new.run
require "qt2" include Qt2 class ListBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @l = QListBox.new(@vbox) @b1 = QPushButton.new("insert", @vbox) @b2 = QPushButton.new("number", @vbox) @i = 1 end def callback1 @l.insertItem("item #{@i}") @i += 1 end def callback2 print "#{@l.count}\n" end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') @vbox.show() @a.exec() end end ListBoxDemo.new.run
require "qt2" include Qt2 class ListBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @l = QListBox.new(@vbox) for i in 0..10 @l.insertItem("item #{i}") end bg = QVButtonGroup.new(@vbox) bg.setTitle("Languages") @rb1 = QRadioButton.new("Single", bg) @rb1.setChecked(true) @rb2 = QRadioButton.new("Extended", bg) @rb3 = QRadioButton.new("Multi", bg) @rb4 = QRadioButton.new("NoSelection", bg) end def callback1 @l.setSelectionMode(QListBox::Single) end def callback2 @l.setSelectionMode(QListBox::Extended) end def callback3 @l.setSelectionMode(QListBox::Multi) end def callback4 @l.setSelectionMode(QListBox::NoSelection) end def run Qt2::connect(@rb1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@rb2, QSIGNAL('clicked()'), self, 'callback2') Qt2::connect(@rb3, QSIGNAL('clicked()'), self, 'callback3') Qt2::connect(@rb4, QSIGNAL('clicked()'), self, 'callback4') @vbox.show() @a.exec() end end ListBoxDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) cb = QComboBox.new(nil) for i in 0..10 cb.insertItem("item #{i}") end a.setMainWidget( cb ) cb.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) cb = QComboBox.new(true, nil) for i in 0..10 cb.insertItem("item #{i}") end a.setMainWidget( cb ) cb.show() a.exec()
require "qt2" include Qt2 class ComboBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @cb = QComboBox.new(@vbox) @b = QPushButton.new("insert", @vbox) @i = 1 end def callback @cb.insertItem("item #{@i}") @i += 1 end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end ComboBoxDemo.new.run
require "qt2" include Qt2 class ComboBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @cb = QComboBox.new(@vbox) @b1 = QPushButton.new("insert", @vbox) @b2 = QPushButton.new("clear", @vbox) @i = 1 end def callback1 @cb.insertItem("item #{@i}") @i += 1 end def callback2 @cb.clear end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') @vbox.show() @a.exec() end end ComboBoxDemo.new.run
require "qt2" include Qt2 class ComboBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @cb = QComboBox.new(@vbox) @b1 = QPushButton.new("insert", @vbox) @b2 = QPushButton.new("number", @vbox) @i = 1 end def callback1 @cb.insertItem("item #{@i}") @i += 1 end def callback2 print "#{@cb.count}\n" end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') @vbox.show() @a.exec() end end ComboBoxDemo.new.run
require "qt2" include Qt2 class ComboBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @cb = QComboBox.new(@vbox) @b = QPushButton.new("text", @vbox) for i in 0..10 @cb.insertItem("item #{i}") end end def callback print "currentText: #{@cb.currentText.to_str} currentItem: #{@cb.currentItem}\n" end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end ComboBoxDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) s = QSlider.new(nil) s.setRange(0, 100) s.setValue(0) a.setMainWidget( s ) s.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) s = QSlider.new(nil) #s.setOrientation(QSlider::Vertical) s.setOrientation(QSlider::Horizontal) s.setRange(0, 100) s.setValue(0) a.setMainWidget( s ) s.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) s = QSlider.new(nil) s.setRange(0, 100) s.setValue(0) s.setTickmarks(QSlider::NoMarks) s.setTickmarks(QSlider::Left) s.setTickmarks(QSlider::Right) s.setTickmarks(QSlider::Both) #s.setOrientation(QSlider::Horizontal) #s.setTickmarks(QSlider::Below) #s.setTickmarks(QSlider::Above) a.setMainWidget( s ) s.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) s = QSpinBox.new(nil) s.setRange(0, 10) s.setValue(0) a.setMainWidget( s ) s.show() a.exec()
require "qt2" include Qt2 class SpinBoxDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @s = QSpinBox.new(@vbox) @s.setRange(0, 10) @s.setValue(0) @b = QPushButton.new("value", @vbox) end def callback print "#{@s.text.to_str}\n" end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @vbox.show() @a.exec() end end SpinBoxDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) s = QSpinBox.new(nil) s.setRange(0, 10) s.setValue(0) s.setWrapping(true) a.setMainWidget( s ) s.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) s = QSpinBox.new(nil) s.setRange(-1, 10) s.setValue(0) s. setSpecialValueText("Min!") a.setMainWidget( s ) s.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) s = QSpinBox.new(nil) s.setRange(0, 10) s.setValue(0) s.setPrefix("Item ") s.setSuffix(" Points") a.setMainWidget( s ) s.show() a.exec()
require "qt2" include Qt2 class ProgressBarDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @a.setMainWidget(@vbox) @pb = QProgressBar.new(@vbox) @s = QSlider.new(@vbox) @s.setOrientation(QSlider::Horizontal) end def sliderValueChanged(value) @pb.setProgress(value) end def run Qt2::connect(@s, QSIGNAL('valueChanged(int)'), self, 'sliderValueChanged') @vbox.show() @a.exec() end end ProgressBarDemo.new.run
#!/usr/bin/env ruby require "qt2" include Qt2 class DialogDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @vbox = QVBox.new @vbox.setMargin(10) @b1 = QPushButton.new("information Dialog", @vbox) @b2 = QPushButton.new("warning Dialog", @vbox) @b3 = QPushButton.new("critical Dialog", @vbox) @b4 = QPushButton.new("about Dialog", @vbox) @b5 = QPushButton.new("aboutQt Dialog", @vbox) end def callback1 QMessageBox::information(@vbox, "title", "contents", QMessageBox::Ok) end def callback2 QMessageBox::warning(@vbox, "title", "contents", QMessageBox::Ok, QMessageBox::No) end def callback3 QMessageBox::critical(@vbox, "title", "contents", QMessageBox::Yes, QMessageBox::No, QMessageBox::Cancel) end def callback4 QMessageBox::about(@vbox, "title", "contents") end def callback5 QMessageBox::aboutQt(@vbox, "title") end def run Qt2::connect(@b1, QSIGNAL('clicked()'), self, 'callback1') Qt2::connect(@b2, QSIGNAL('clicked()'), self, 'callback2') Qt2::connect(@b3, QSIGNAL('clicked()'), self, 'callback3') Qt2::connect(@b4, QSIGNAL('clicked()'), self, 'callback4') Qt2::connect(@b5, QSIGNAL('clicked()'), self, 'callback5') @a.setMainWidget(@vbox) @vbox.show() @a.exec() end end DialogDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) quit = QPushButton.new( "Quit", nil ) Qt2::connect( quit, QSIGNAL("clicked()"), a, "quit" ) a.setMainWidget( quit ) quit.show() a.exec()
require "qt2" include Qt2 title = "Hello world!" a = QApplication.new([title]+ARGV) hello = QLabel.new( "Hello world!", nil ) hello.resize( 200, 120 ) a.setMainWidget( hello ) hello.show() a.exec()
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) hello = QLabel.new( "Hello world!", nil ) hello.setGeometry( 100, 400, 200, 100 ) hello.setAlignment(Qt::AlignCenter) a.setMainWidget( hello ) hello.show() a.exec()
とか
require "qt2" include Qt2 class MyMainWindow < QWidget def initialize setGeometry( 100, 100, 200, 100 ) hello = QLabel.new( "Hello world!", self ) #hello.setGeometry( 100, 50, 200, 100 ) hello.setAlignment(Qt::AlignCenter) end end a = QApplication.new([$0]+ARGV) w = MyMainWindow.new a.setMainWidget( w ) w.show() a.exec()
とか
require "qt2" include Qt2 class BellDemo < QObject def initialize @a = QApplication.new([$0]+ARGV) @b = QPushButton.new("bell", nil) end def callback QApplication.beep end def run Qt2::connect(@b, QSIGNAL('clicked()'), self, 'callback') @a.setMainWidget( @b ) @b.show() @a.exec() end end BellDemo.new.run
require "qt2" include Qt2 a = QApplication.new([$0]+ARGV) codec = QTextCodec::codecForLocale() a.setDefaultCodec(codec) hello = QLabel.new( tr("こんにちは"), nil ) a.setMainWidget( hello ) hello.show() a.exec()