RubyQpeAppletを試す
とりあえずバージョン0.2が公開されてたので、そっちをインストール。スクリプト変更時の再読み込み用のQCopメッセージが追加されたのでそれをKeyHelperのメニューに登録。むむっ、ごく稀にreloadするとQtopiaだけ再起動する場合があります。
qtedecl.rbの書き方がイマイチわからないので通常の文法で書いてみます。適当にボタンを並べて押すとZEditorの起動と、テキストボックスに文字表示させるプログラム。Windowのサイズと位置はresizeとmoveで何とかなりそうみたい。
実際に動かしてみるとsystem()でQCopを使用したZEditorの起動は上手くいきませんでした、10秒ほど固まった後に何も起こらずに復帰します。あと日本語を使おうとするとフォントが化けるなぁ、これはqpeapplet.rbを細工すればいいのかな?
http://noir.s7.xrea.com/rubyqte/?RubyQpeApplet
全然話は違うけれども、QMultiLineEdit::insertLineがtr()で文字列を囲まないと動かなくなった、以前はtr()が無くても表示してくれたと思ったのだけど、気のせい?
class HelloForm <Qpe::Applet::MainFormBase def user_interface # setDefaultCodec(QTextCodec.codecForName("utf8")) # setFont(QFont.new("lcfont",16)) setCaption(tr("test")) resize(150, 150) move(490,290) @v = QVBox.new(self) @v.setGeometry(0,0,150,150) @pb1 = QPushButton.new('button1', @v) @pb2 = QPushButton.new('button2', @v) @eb = QMultiLineEdit.new( @v ) connect(@pb1, QSIGNAL('clicked()'), self, 'test1') connect(@pb2, QSIGNAL('clicked()'), self, 'test2') end def test1 cmd = "qcop QPE/System 'execute(QString,QString)' zeditor" system( cmd ) end def test2 @eb.insertLine(tr("push Pb2")) end end