Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get cell value from selected row (QTableView)?

Tags:

c++

qt

qtableview

I have a QTableView and I need to the get value (string) from the first cell of the selected row (any cell on the row could be selected). But I need this value only if exactly one row was selected.

I thought - I need to get index of the selected row and then get the value of the first сell on that line, but I couldn't find a way to do it.

like image 825
Stals Avatar asked Jul 29 '12 16:07

Stals


2 Answers

myTableView->selectionModel()->currentIndex().row()

Will give you the index of the currently selected row. From there you should have enough information to look up the row/column pair in your model.

Also, QItemSelectionModel::selectedRows() will let you know how many rows are selected.

like image 82
Chris Avatar answered Nov 11 '22 06:11

Chris


Python Code will look like :

    self.tableView.clicked.connect(self.on_Click)

When User Click on Table Cell the on_Click() method is invoked

    def on_Click(self):
        # #selected cell value.
        index=(self.tableView.selectionModel().currentIndex())
        # print(index)
        value=index.sibling(index.row(),index.column()).data()
        print(value)

Explanation.

"value" contains the cell value of the selected cell.

       index.row() # gives current selected row.
       index.column() # gives current selected column.
       index.sibling(index.row(),index.column()).data() # will return cell data
like image 31
Akshar Sarvaiya Avatar answered Nov 11 '22 04:11

Akshar Sarvaiya