Maybe ths simple example will help:
Qt Code:
  1. #include <QtGui>
  2. class TableWidget : public QTableWidget
  3. {
  4. Q_OBJECT
  5. public:
  6. TableWidget(int rows, int cols) : QTableWidget(rows, cols) {}
  7. public slots:
  8. void findItem(QTableWidgetItem *item, QTableWidgetItem */* */){
  9. QList<QTableWidgetItem *> list = findItems(item->text(),Qt::MatchExactly);
  10. QTableWidgetItem *foundItem = list[0];
  11. QModelIndex index =model()->index(foundItem->row(), foundItem->column());
  12. scrollTo(index, QAbstractItemView::PositionAtCenter);
  13. }
  14. };
  15. #include "main.moc"
  16.  
  17. int main(int argc, char *argv[])
  18. {
  19. QApplication a(argc, argv);
  20. QTableWidget tableWidget1(3, 1);
  21. tableWidget1.setItem(0,0,new QTableWidgetItem("Item #1"));
  22. tableWidget1.setItem(1,0,new QTableWidgetItem("Item #50"));
  23. tableWidget1.setItem(2,0,new QTableWidgetItem("Item #89"));
  24. TableWidget tableWidget2(100, 10);
  25. for(int i=0;i<100;++i)
  26. tableWidget2.setItem(i, qrand() % 10, new QTableWidgetItem(QString("Item #%1").arg(i+1)));
  27. QObject::connect(&tableWidget1, SIGNAL(currentItemChanged(QTableWidgetItem*,QTableWidgetItem*)),&tableWidget2, SLOT(findItem(QTableWidgetItem*,QTableWidgetItem*)));
  28. tableWidget1.show();
  29. tableWidget2.show();
  30. return a.exec();
  31. }
To copy to clipboard, switch view to plain text mode