【问题标题】:QT - How to get values from a single row in QTableViewQT - 如何从 QTableView 中的单行获取值
【发布时间】:2014-01-21 15:47:32
【问题描述】:

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

【问题讨论】:

    标签: qt sqlite qtableview qmodelindex


    【解决方案1】:

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

    【讨论】:

    • 谢谢你的榜样。
    【解决方案2】:

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

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

    【讨论】:

    • 我试过了,但是如果我点击一个单元格,QString cellText 只返回那个单元格,我需要一个或几个字符串中的所有单元格。
    猜你喜欢
    • 2012-07-27
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 2019-11-01
    相关资源
    最近更新 更多