qtqtableview

How can I get the data of a clicked cell?


I am unable to use QMouseEvent with QTableview in order to get the data of a clicked cell.


Solution

  • Here is an example of how you can get a table cell's text when clicking on it.

    Suppose a QTableView defined in some MyClass class. You need to connect the clicked signal to your own MyClass::onTableClicked() slot, as shown below:

    connect(tableView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onTableClicked(const QModelIndex &)));
    

    Slot implementation:

    void MyClass::onTableClicked(const QModelIndex &index)
    {
        if (index.isValid()) {
            QString cellText = index.data().toString();        
        }
    }
    

    You can use also doubleClicked, pressed or other signals depending on your goal.