我有点想为QWhateverView行为中的每个小修改创建子类,所以我有了一个想法:
如果我为最常见的覆盖函数创建一个ProxyView,它基本上会执行以下操作:
//(mousePress used as an example)
void ProxyView::mousePressEvent ( QMouseEvent * event )
{
if(mousePressFunctionHandler != nullptr)
functionHandler(this, event);
else
QTreeView::mousePressEvent(event);
}
虽然我不会以这种方式访问视图内部,但我总是不需要它...到目前为止唯一阻止我的是我不确定这个想法是否合理...... :)
或者有更好的方法吗?