# 3.4. ウィジェットクラスの拡張

レッスン 5 での目標は ウィジェットクラスの拡張です。したがって、仮想関数についても学びましょう。ここで`resizeEvent()`が再実相されます。(クラスを拡張する以外に)ここで学ぶ重要なことは、パラメータとしてイベントを要する仮想関数によってユーザのイベントを用い Qt が機能するということです。以下に続く Qt ライブラリのクラスで快適になるでしょう。

- QEvent

- QChildEvent

- QCloseEvent

- QFocusEvent

- QKeyEvent

- QMouseEvent

- QMoveEvent

- QPaintEvent

- QResizeEvent

- QTimerEvent

カスタムウィジェット、特にアプリケーションの表示領域を記述する際は常に、処理されなけれ ばならないイベントに対するウィジェットのイベントメソッドのデフォルトのインプリメンテーションを独自で上書きしなければなりません。以下のような形です。

マウスイベントを処理するため`virtual void mousePressEvent ( QMouseEvent * )`はコンテクストメニューを表します。インプリメンテーションで、関数のヘッダに正式なパラメータを挿入しなければなりません。多くの開発者はパラメータ 名として`event`または単に`e`を使います。

そうすると、イベントパラメータを処理することが出来ます。`QMouseEvent`の場合、そのイベントを発生させたのがマウスの右ボタンか、中ボタンか左ボタンのどれであるかを問わなければなりません。