QTableView 获取具有相似列值/数据的行列表

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案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
    
  

【讨论】:

你的例子和我从中得到的想法,解决了我的问题,所以谢谢。

以上是关于QTableView 获取具有相似列值/数据的行列表的主要内容,如果未能解决你的问题,请参考以下文章

熊猫填充列值以具有其他列的相似值

GraphFrames:合并具有相似列值的边缘节点

GROUP BY 并将列值放入单行列

SQL中PIVOT 行列转换

如何获取dataGridView选中行的列值?

QT中QTableview表中内容修改?