QTreeView策略子类。这样理智吗?

时间:2012-12-23 13:06:59

标签: c++ qt design-patterns

我有点想为QWhateverView行为中的每个小修改创建子类,所以我有了一个想法:

如果我为最常见的覆盖函数创建一个ProxyView,它基本上会执行以下操作:

//(mousePress used as an example)
void ProxyView::mousePressEvent ( QMouseEvent * event ) 
{
    if(mousePressFunctionHandler != nullptr)
       functionHandler(this, event);
    else
       QTreeView::mousePressEvent(event);
}

虽然我不会以这种方式访问​​视图内部,但我总是不需要它...到目前为止唯一阻止我的是我不确定这个想法是否合理...... :)

或者有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

您似乎需要使用event filters