1

我有一个 3 列的 QTreeWidget。它用于搜索功能并且树持有

  1. 结果名称
  2. 结果日期
  3. $searchterm 结果中的命中数。

默认行为是按日期降序排序。这最初工作得很好,因为这是通过 SQL 查询完成的,然后才加载到树中。但是,当我决定允许用户按其他列而不是日期排序时,事情就搞砸了。

日期采用 mm/dd/yyyy 格式,但 QTreeWidget 忽略年份,同时按月份和日期排序。它似乎想将日期视为整数。月份和日期排序正确,但年份在不应该的时候混合在一起。(10/06/2012、10/06/2011、10/05/2012 等)有没有办法告诉 QTreeWidget 排序函数将年份放在首位(以便 2012 年的所有内容都组合在一起,所有内容从 2011 年开始被组合在一起,等等),或者甚至告诉它在该列中使用日期格式?

4

1 回答 1

3

它不是按整数排序的,而是按字符串排序的。您用于树视图的模型需要返回QDateQDateTime用于data()函数中的列。

于 2012-10-25T19:27:06.560 回答