メニューバーからのメソッド呼出
Ruby/Qteの勉強 その42
通常はメニューバーに機能を登録する場合はメニューバー(QMenuBar)→プルダウンメニュー(QPopupMenu)→メソッドのようにするが、メニューバーから直接メソッドを呼び出すことも可能。
ザウルスでは通常メニュー作成にはQPEMenuBarを使用するが、今回のような場合MENUキー押下でメニューバー左端のメニュー(メソッド)が呼ばれてしまうのでQMenuBarを使用したほうが良いと思う。
#!/usr/bin/env ruby require "qte" require "qpe" include Qte include Qpe class SampleWindow < QMainWindow def initialize() super() setCaption(tr("サンプル")) @menu = QMenuBar.new(self) # @menu = QPEMenuBar.new(self) @menu.insertItem(tr("テスト1"), self, 'test1') @menu.insertItem(tr("テスト2"), self, 'test2') @txt = QMultiLineEdit.new(self) setCentralWidget(@txt) test1 end def test1 @txt.insertLine(tr("select test1")) end def test2 @txt.insertLine(tr("select test2")) 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