#!/usr/bin/env ruby require "qte" require "qpe" include Qte include Qpe class SampleWindow < QMainWindow def initialize() super() setCaption(tr("サンプル")) msg = QLabel.new(tr("これはサンプルプログラム"),self) msg.setGeometry(10,20,300,30) @filemenu = QPopupMenu.new(self) #ファイルメニュー作成 @filemenu.insertItem(tr("ファイル1"), self, "file1") @filemenu.insertItem(tr("終了"), self, "close()", CTRL+Key_Q) @submenu = QPopupMenu.new(self) #ファイルサブメニュー作成 @submenu.insertItem(tr("サブ1"), self, "file1") @submenu.insertItem(tr("サブ2"), self, "file1") # 終了をマスクさせたい場合 # @fm2 = @filemenu.insertItem(tr("終了"), self, "close()", CTRL+Key_Q) # @filemenu.setItemEnabled(@fm2, false) @dispmenu = QPopupMenu.new(self) #表示メニュー作成 @dispmenu.insertItem(tr("表示1"), self, "disp1", CTRL+Key_A) @dispmenu.insertItem(tr("表示2"), self, "disp2", CTRL+Key_B) menuBar = QPEMenuBar.new(self) #ファイル,表示をメニューバーに登録 menuBar.insertItem(tr("ファイル(&F)"), @filemenu) menuBar.insertItem(tr("表示(&D)"), @dispmenu) bg = QVButtonGroup.new(self) bg.setTitle("Item") bg.setGeometry(10,50,600,160) @r1 = QRadioButton.new("radio1", bg) @r1.setChecked(true) @r2 = QRadioButton.new("radio2", bg) @r3 = QRadioButton.new("radio3", bg) @r4 = QRadioButton.new("radio4", bg) @ebox1 = QMultiLineEdit.new(self) @ebox1.setGeometry(0,280,635,120) end def file1 @ebox1.insertLine(tr("ファイル1が選択されました")) end def disp1 @ebox1.insertLine(tr("表示1が選択されました")) end def disp2 @ebox1.insertLine(tr("表示2が選択されました")) 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