QT - 如何从QTableView中的单行获取值

时间:2014-01-21 15:47:33

标签: qt sqlite qtableview qmodelindex

我有一个记录很少的QTableView,一行包含四列。 我需要获取这4个索引值(名称,姓氏,年龄,用户名)才能在SQLite中删除它们,因此我需要将这四个值放入删除查询中。我希望点击 THAT 行的每个索引并返回所有4个值。 我该怎么做? 感谢

2 个答案:

答案 0 :(得分:7)

我没有看到问题。使用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();
    ...
}

答案 1 :(得分:0)

首先,您需要处理表格视图的点击次数。为此,您可以处理QAbstractItemView::clicked(const QModelIndex &index)信号并将其连接到相应的插槽。例如:

void GuiClass::onTableCellClicked(const QModelIndex &index)
{
    QString cellText = index.data().toString();
    [..]
}