实际上,我对Qt不太熟悉,无法将QMouseEvent
与QTableview
相匹配。
请帮忙解决这个问题。
实际上,我对Qt不太熟悉,无法将QMouseEvent
与QTableview
相匹配。
请帮忙解决这个问题。
这是一个示例,演示如何在单击表格单元格时获取其文本。
假设有一个在某些类MyClass
中定义的QTableView
。您需要将clicked
信号连接到自己的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();
}
}
你还可以根据你的目的使用doubleClicked
、pressed
或其他信号。QAbstractItemView::clicked()
和QTableWidget::cellClicked()
。第一个信号可以用于所有项视图类,如树视图、表视图、列表视图,而第二个信号仅适用于表格小部件。此外,参数也不同:有时传递模型索引比行和列更方便,特别是对于树视图,其中还有父级。 - vahancho