QWhateverView の動作で行う必要があるマイナーな変更ごとにサブクラスを作成するのにちょっとうんざりしているので、アイデアを得ました:
基本的に次のようなことを行う、最も一般的にオーバーライドされる関数の ProxyView を作成するとどうなりますか。
//(mousePress used as an example)
void ProxyView::mousePressEvent ( QMouseEvent * event )
{
if(mousePressFunctionHandler != nullptr)
functionHandler(this, event);
else
QTreeView::mousePressEvent(event);
}
この方法でビューの内部にアクセスできないことは事実ですが、とにかくそれを必要としないことがよくあります...これまでのところ私を止めている唯一のことは、このアイデアが正気かどうかわからないということです... :)
それとももっと良い方法がありますか?