QTreeView策略子类.这是理智的吗?

QTreeView policy subclass. Is this sane?

本文关键字:策略 子类 QTreeView      更新时间:2023-10-16

我有点厌倦了为每一个小的修改子类,我需要在QWhateverView行为,所以我有了一个想法:

如果我为最常见的重写函数创建一个ProxyView会怎么样呢?

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

虽然这是真的,我将无法访问视图的内部以这种方式,我经常不需要它…到目前为止,唯一阻止我的是我不确定这个想法是否合理……:)

还是有更好的方法?

看来你需要使用事件过滤器