Мне самому интересно, можно ли обрабатывать события клавитуры и мышки не переопределяя класс, например как-то получить какая кнопка нажата и передать владельцу данные на обработку.
Можно сделать installEventFilter
void QObject::installEventFilter ( QObject * filterObj )
bool QObject::eventFilter ( QObject * watched, QEvent * event ) [virtual]
Пусть есть главное окно Mw и QTreeWidget - tree;
Тогда:
tree->installEventFilter(Mw);
...
Mw::eventFilter ( QObject * watched, QEvent * event )
{
....
}
Вроде так должно получиться, что вы требуете