0

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

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

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

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

还是有更好的方法?

4

1 回答 1

2

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

于 2012-12-23T13:15:30.623 回答