#!/usr/bin/env ruby require "qte" require "qpe" include Qte include Qpe class SampleWindow < QMainWindow def initialize() super() setCaption(tr("サンプル")) @stack = QWidgetStack.new(self) #スタック作成 @w0 = QWidget.new( @stack ) #ウィジェット0作成 @w1 = QWidget.new( @stack ) #ウィジェット1作成 @stack.addWidget( @w0, 0 ) #スタックに追加 @stack.addWidget( @w1, 1 ) #ウィジェット0の配置 @msg0 = QLabel.new(tr("ウィジェット0のエリア"), @w0) @msg0.setGeometry(10,10,300,100) #ウィジェット1の配置 @msg1 = QLabel.new(tr("ウィジェット1\nのエリア"), @w1) @msg1.setGeometry(10,10,300,100) @current = 0 @stack.raiseWidget( @current ) #表示するウィジェットを指定 @ebox = QLineEdit.new( self ) @pb = QPushButton.new(tr("ボタン"), self) connect(@pb,QSIGNAL("clicked()"), self, 'chgWidget') #画面レイアウト @lay = QVBoxLayout.new( self ) @lay.addWidget( @ebox ) #上部 @lay.addWidget( @stack, 1) #中央を広げる @lay.addWidget( @pb ) #下部 end def chgWidget #ウィジェットの表示切替え if @current == 1 then @current = 0 else @current = 1 end @stack.raiseWidget( @current ) 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