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()