Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

QTableView: How can I get the data when user click on a particular cell using mouse

Tags:

qt

qtableview

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

please help in solving this issue.

like image 212
ShivaPrasad Gadapa Avatar asked Oct 18 '13 05:10

ShivaPrasad Gadapa


1 Answers

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.

like image 121
vahancho Avatar answered Sep 20 '22 16:09

vahancho