install event filter on a treewidget's viewport and process needed events.
Qt Code:
  1. ...
  2. m_treeWidget->viewport()->installEnvetFilter(this);
  3. ...
  4. bool MyWidget::eventFilter(QObject *o, QEvent *e)
  5. {
  6. if (m_treeWidget->viewport() == o) {
  7. if (e->type() == QEvent::MouseButtonPress) {
  8. const QMouseEvent *me = static_cast<QMouseEvent>(e);
  9. //add whatever you want
  10. } else if (e->type() == QEvent::FocusIn) {
  11. //add whatever you want
  12. }
  13. }
  14. return QWidget::eventFilter(o, e);
  15. }
To copy to clipboard, switch view to plain text mode 
PS. please, ask questions like this in Newbie forum.