各種スクリプトでメモ帳を作成する(その2)
download:notepad.py_rb.tar.gz
速いが劣り過ぎ
Python版と見た目は同じだが、内部的に大きな違いがある。
以下にその違いを記す。
- 長所
- 短所
- protectedメソッドを呼び出せない。そのため、QMultiLineEditのmarkedTextによる選択状態に関する重要な機能などが使えない。
- virtualメソッドをオーバーライドできない。そのため、QWidgetのkeyPressEventなどをオーバーライドすることによる、ちょっとしたカスタマイズができない。
- その他(不具合など)
- QLineEdit.new(parent, name)形式でコンストラクタを呼び出しても、ウィジェット名が設定できない。QLineEdit.new(text, parent, name)形式では設定できる。
テクニック
- Rubyメソッドに接続したQtシグナルを切断する方法
@<RubySlot> = Qte::connect( <QtObject>, QSIGNAL("<Signal>(<Prototype>)"), <RubyObject>, "<RubyMethod>") : : <QtObject>.disconnectSignal( QSIGNAL("<Signal>(<Prototype>)"), @<RubySlot>, QSLOT("rslot(<Prototype>)"))
- Rubyシグナルを切断する方法
@<RubySignal> = RSignal.new("<Prototype>") connect(@<RubySignal>, <Receiver>, <Member>) -or- @<RubySignal>.connect(<Receiver>, <Member>) : : @<RubySignal>.disconnect