Hi,
I have this problem. I have main form where i have QTreeWidget and label. All I need is to change label text, when i press up and down in QTreeWidget accordingly. Here's sample code:

Qt Code:
  1. MainWindow::MainWindow(QWidget *parent)
  2. : QMainWindow(parent)
  3. {
  4. tree = new QTreeWidget(this);
  5. label = new QLabel(this);
  6.  
  7. top->setText(0,"top");
  8. top2->setText(0,"top2");
  9. niz->setText(0,"lower");
  10. QTreeWidgetItem *lower2 = new QTreeWidgetItem(0);
  11. niz2->setText(0,"even lower");
  12.  
  13. tree->addTopLevelItem(top);
  14. tree->addTopLevelItem(top2);
  15. top2->addChild(lower);
  16. niz->addChild(lower2);
  17.  
  18. QWidget *widget = new QWidget(this);
  19. QHBoxLayout *layout = new QHBoxLayout();
  20. layout->addWidget(tree);
  21. layout->addWidget(label);
  22. widget->setLayout(layout);
  23. this->setCentralWidget(widget);
  24.  
  25. connect(tree,SIGNAL(itemClicked(QTreeWidgetItem*,int)),this,SLOT(treeClicked(QTreeWidgetItem*,int)));
  26. }
  27.  
  28. void MainWindow::treeClicked(QTreeWidgetItem* item, int col)
  29. {
  30. label->setText(item->text(0));
  31. }
  32.  
  33. void MainWindow::keyPressEvent(QKeyEvent* event)
  34. {
  35. if((event->key() == Qt::Key_Up) || (event->key() == Qt::Key_Down))
  36. {
  37. label->setText(tree->currentItem()->text(0));
  38. }
  39. }
To copy to clipboard, switch view to plain text mode 

with mouse clicks, everything works fine, but keypress event works only when Im at the top or at the bottom of QTreeWidget (I assume that it's because QTreeWidget actually loses focus when im for example at the top of widget and i press Up, so MainWindow gets focus and is able to call keyPressEvent). But how to override keyPressEvent of treeWidget inside of main form? Thanks, so far I was unable to find working solution.