我有一个实现 data() 的 QAbstractTableModel 子类,其中一些列是整数和双精度。我正在使用 QLocale::toCurrencyString() 和 QLocale::toString() 根据语言环境转换这些数字,以添加诸如“$”和“,”之类的格式字符。由于结果是字符串,因此列现在以字符串形式而不是 int 或 double 形式对值进行排序。
我正在使用 QSortFilterProxyModel 根据列进行排序。但它只是以字符串形式获取数据,并以此为基础进行排序。也许我不应该在 data() 中格式化整数和双精度数?我找不到其他地方来格式化这些值。有谁知道如何解决这个问题?