重载QTreeWidgetItem operator< 解决排序问题
2016-09-19 09:36
459 查看
Qt的 QTableWidget 和 QTreeWidget 对item的排序,一直都存在一个问题,例如有三个item,text分别为1、3、15,排序的结果必然为1、15、3,这样不是我们想要的结果,所以需要通过重载QTreeWidgetItem的 operator< 函数,改变排序比较的方式,达到我们想要的效果。
.h文件
.cpp文件
.h文件
<span style="font-family:Verdana;font-size:12px;">
class CTreeWidgetItemEx : public QTreeWidgetItem { public: explicit CTreeWidgetItemEx(QTreeWidgetItem * parent = 0, int type = QTreeWidgetItem::Type); ~CTreeWidgetItemEx(); bool operator<(const QTreeWidgetItem & other) const; };
</span>
.cpp文件
<span style="font-family:Verdana;font-size:12px;">
CTreeWidgetItemEx::CTreeWidgetItemEx(QTreeWidgetItem * parent /*= 0*/, int type /*= QTreeWidgetItem::Type*/) : QTreeWidgetItem(parent, type) { } CTreeWidgetItemEx::~CTreeWidgetItemEx() { } bool CTreeWidgetItemEx::operator<(const QTreeWidgetItem & other) const { unsigned int a = this->text(0).toUInt(); unsigned int b = other.text(0).toUInt(); return (a < b); }
</span>
相关文章推荐
- 在命令行用 sort 进行排序
- QT学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- Qt 5.6更新至RC版,最终版本近在咫尺
- 文件遍历排序函数
- 关于C#中排序函数的总结
- C#选择排序法实例分析
- C#插入法排序算法实例分析
- C#实现Datatable排序的方法
- MYSQL必知必会读书笔记第五章之排序检索数据
- SQLSERVER的排序问题结果不是想要的
- Ruby实现插入排序算法及进阶的二路插入排序代码示例
- Windows Powershell排序和分组管道结果
- C#通过IComparable实现ListT.sort()排序
- C#选择法排序实例分析
- SQL学习笔记四 聚合函数、排序方法
- C#对list列表进行随机排序的方法
- jQuery拖动元素并对元素进行重新排序
- 将MySQL查询结果按值排序的简要教程
- 深入解析桶排序算法及Node.js上JavaScript的代码实现