#!/usr/bin/env ruby require "qte" require "qpe" include Qte include Qpe class SampleWindow < QMainWindow def initialize() super() setCaption(tr("サンプル")) @v = QVBoxLayout.new(self, 20) @lcd = QLCDNumber.new(8, self) @lcd.setSegmentStyle( QLCDNumber::Flat ) @h = QHBox.new(self) @pbstart = QPushButton.new(tr("スタート"), @h) connect(@pbstart, QSIGNAL("clicked()"), self, 'start') @pbstop = QPushButton.new(tr("ストップ"), @h) connect(@pbstop, QSIGNAL("clicked()"), self, 'stop') # 画面レイアウト @v.addWidget(@lcd, 1) # LCDを大きく @v.addWidget(@h) @timer = QTimer.new(self) # 設定した時間が経過したらシグナル発生 connect(@timer, QSIGNAL("timeout()"), self, 'display') @now = QTime.new(0, 0) display end # 現在時刻表示 def display @now.start # 現在時刻取得 @nowstr = @now.toString # QStringに変換 @lcd.display(@nowstr) # 表示 end # スタート def start @timer.start(1000, false) # 1sec毎にシグナル発生 end # タイマストップ def stop @timer.stop end end $defaultCodec = QTextCodec.codecForName("utf8") app = QPEApplication.new([$0]+ARGV) app.setDefaultCodec($defaultCodec) QApplication.setFont(QFont.new("lcfont", 18)) app.showMainWidget(SampleWindow.new) app.exec