我有一个QTreeWidget,列中填充了一些数字,我该如何对它们进行排序?
如果我使用setSortingEnabled(true);我只能正确排序字符串,所以我的列被排序:
1
10
100
2
20
200
但这不是我想要的!
建议?
解决方法
您可以排序覆盖<操作符和改变这样的排序控制.
class TreeWidgetItem : public QTreeWidgetItem { public: TreeWidgetItem(QTreeWidget* parent):QTreeWidgetItem(parent){} private: bool operator<(const QTreeWidgetItem &other)const { int column = treeWidget()->sortColumn(); return text(column).toLower() < other.text(column).toLower(); } };
在这个例子中,它忽略了真实的情况,面对小写模式的字段.