我有一个包含几条记录的 QTableView
,每一行都包含四个列。
我需要获得这4个索引值(名字、姓氏、年龄、用户名),以便在 SQLite
中删除它们,因此我需要这四个值来放入删除查询中。我希望单击该行的任何索引,并返回所有4个值。
我该怎么做?
谢谢
我有一个包含几条记录的 QTableView
,每一行都包含四个列。
我需要获得这4个索引值(名字、姓氏、年龄、用户名),以便在 SQLite
中删除它们,因此我需要这四个值来放入删除查询中。我希望单击该行的任何索引,并返回所有4个值。
我该怎么做?
谢谢
QModelIndex
,您可以获取与给定模型索引相关的任何数据。void GuiClass::onTableCellClicked(const QModelIndex &index)
{
int row = index.row();
QString name = index.sibling(row, 0).data().toString();
QString surname = index.sibling(row, 1).data().toString();
int age = index.sibling(row, 2).data().toInt();
QString username = index.sibling(row, 3).data().toString();
...
}
首先,您需要处理表视图上的点击事件。为此,您可以处理QAbstractItemView::clicked(const QModelIndex &index)
信号,并将其连接到适当的槽。例如:
void GuiClass::onTableCellClicked(const QModelIndex &index)
{
QString cellText = index.data().toString();
[..]
}