次へ技術文章>qvi本稿では以下の実装を行う。イベントフィルターを使った方がクラスを新たに宣言・定義する必要が無くお手軽だ。キャンセルする機能の実装は終わりだ。追加行数も少なく、なんと簡単ではなイカ。:(コロン)直後にカーソルを設定してもいいのだが、もっと簡単な方法がある。シグナルを処理する方法だ。下記の様に、シグナルを処理スロットにコネクトし、カーソルが先頭に移動した場合は:(コロン)直後にカーソルを再設定してあげる。実は←カーソルキーでも:(コロン)直後までしか移動出来ないようにする必要があったのだが、この方法であればその対処も自動的に行われてしまう。マウスでカーソルを設定した場合にもちゃんとうまくいく。最小限のコードでいくつもの問題対処ができた。モードをキャンセルする処理も簡単だ。シグナルを受けて、行頭の文字が:(コロン)でなくなったら、CMDモードに遷移するとよい。コードは以下のようになる。}まとめクラスの動作をカスタマイズしたい場合、サブクラス化だけでなくイベントフィルターを使うことを検討してみるといいぞ本稿のソースコードは以下からDLできます。プロジェクトを作成しています。派生クラスを宣言・実装することで実現しなさい。そのコードと本稿のコードとを比較し、それぞれの方法の長短所を述べなさい。次へ技術文章>qvi。