【问题标题】:QTableView get list of rows with similar column values/DataQTableView 获取具有相似列值/数据的行列表
【发布时间】:2018-02-08 15:16:26
【问题描述】:

我有QTableView,其中包含从 .csv 文件生成的数据。 QTableView 有一个名为 Date (QDateTime) 的列,涵盖了一个多月。我想选择一个日期并将该日期的数据从QTableView 中拆分出来,这样我就可以对其他列中的值进行汇总和平均。

类似于 SQL 表查询,或此 c# LINQ 语法:

var result = context.data.Where(n => n.date == date);

【问题讨论】:

    标签: qt qtableview


    【解决方案1】:

    您可以遍历您的表格视图数据并提取您需要的信息。作为演示,请查看给定的示例:

    void findDates(QTableView *table, const QDateTime &date)
    {
      auto model = table->model();
      const int dateColumn = 1; // The column with the dates data
    
      for (int row = 0; row < model->rowCount(); ++row)
      {
        auto idx = model->index(row, dateColumn);
        auto data = idx.data();
        auto d = data.toDateTime();
    
        // Comparison of dates
        if (d > date)
        {
          // Do something
        }
        else
        {
          // Do something else
        }
      }
    }
    

    【讨论】:

    • 你的例子和我从中得到的想法,解决了我的问题,所以谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多