QTableView: How can I get the data when user click

2020-06-11 13:18发布

问题:

Actually I am new to Qt and unable to match up QMouseEvent with QTableview

please help in solving this issue.

回答1:

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.



标签: qt qtableview