【发布时间】:2014-01-21 15:47:32
【问题描述】:
我有一个QTableView,记录很少,单行包含四列。
我需要获取这 4 个索引值(姓名、姓氏、年龄、用户名)才能在SQLite 中删除它们,所以我需要将这四个值放入删除查询中。我希望点击 THAT 行的每个索引并取回所有 4 个值。
我该怎么做?
谢谢
【问题讨论】:
标签: qt sqlite qtableview qmodelindex
我有一个QTableView,记录很少,单行包含四列。
我需要获取这 4 个索引值(姓名、姓氏、年龄、用户名)才能在SQLite 中删除它们,所以我需要将这四个值放入删除查询中。我希望点击 THAT 行的每个索引并取回所有 4 个值。
我该怎么做?
谢谢
【问题讨论】:
标签: qt sqlite qtableview qmodelindex
我认为没有问题。使用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();
[..]
}
【讨论】: