2014-01-21 43 views
3

从单一行的值我有几个记录QTableView,单行包含四列。 我需要以删除它们SQLite让这4个指数值(姓名,年龄,用户名),所以我需要这四个值就摆在删除查询。我希望点击的THAT行的各项指标,并取回所有4个值。 我该怎么办? 感谢QT - 如何让QTableView中

回答

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(); 
    ... 
} 
+0

非常感谢!它的工作原理 – user1336326

+0

谢谢你的例子。 – adi

0

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

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

我试过了,但是如果我点击单个单元格,QString cellText只返回那个单元格,我需要单个或几个字符串中的所有单元格。 – user1336326