QTableView:当用户使用鼠标单击特定单元格时,如何获取数据

QTableView:当用户使用鼠标单击特定单元格时,如何获取数据,qt,qtableview,Qt,Qtableview,实际上,我是Qt新手,无法将QMouseEvent与QTableview 请帮助解决此问题。以下是一个示例,说明如何在单击表格单元格时获取其文本 假设某个MyClass类中定义了一个QTableView。您需要将单击的信号连接到您自己的MyClass::onTableClicked()插槽,如下所示: connect(tableView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onTableClicked(const QMode

实际上,我是Qt新手,无法将
QMouseEvent
QTableview


请帮助解决此问题。

以下是一个示例,说明如何在单击表格单元格时获取其文本

假设某个
MyClass
类中定义了一个
QTableView
。您需要
单击的
信号连接到您自己的
MyClass::onTableClicked()
插槽,如下所示:

connect(tableView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onTableClicked(const QModelIndex &)));
插槽实现:

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

根据您的目标,您也可以使用双击、按下或其他信号。

告诉我们您尝试过什么以及您的问题是什么?您尝试过使用信号吗?以上示例很好,谢谢您提供solution@vahancho你能告诉我这两者有什么不同吗(const QModelIndex&)和cellClicked(int行,int列)?为什么不能有一个API?@XavierGeoffrey,区别在于这些信号在不同的类中声明:
qabstractemview::clicked()
QTableWidget::cellClicked()
分别。第一个信号可用于所有项目视图类,如treeview、tableview、listview,而第二个信号仅用于表小部件。参数也不同:有时传递模型索引比传递行和列要方便得多,特别是对于treeview,其中也有父级。@vahancho它不适用于我我使用了相同的信号,但是插槽没有执行haa,我知道它有什么问题,我使用m_table的指针现在已经分配好了。我的意思是,我在分配表之前使用了connect语句。所以它现在可以正常工作了