вот это по клику. по наведению надо видимо отлавливать QMouseEvent
void MainWindow::on_tableView_clicked(const QModelIndex& index)
{
ui->tableView->selectionModel()->clear();
int rows = _model.rowCount();
int columns = _model.columnCount();
for (int i = 0; i < rows; i++)
for (int j = 0; j < columns; j++)
if (i == index.row() || j == index.column())
ui->tableView->selectionModel()->select(_model.index(i, j), QItemSelectionModel::Select);
}