Qt窗口及控件-QTreeview/QTableView排序问题

博客地址已更改,文章数量较多不便批量修改,若想访问源文请到 coologic博客 查阅,网址:www.coologic.cn

如本文记录地址为 techieliang.com/A/B/C/ 请改为 www.coologic.cn/A/B/C/ 即可查阅

 

 

版权声明:若无来源注明,Techie亮博客文章均为原创。 转载请以链接形式标明本文标题和地址:
本文标题:Qt-QTreeview/QTableView排序问题     本文地址:http://techieliang.com/2017/11/66/

QTreeview/QTableView自带排序功能

Qt可通过sortByColumn()实现对QTreeview/QTableView某列的排序

也可通过setSortingEnabled()实现允许用户点击表头进行排序

   

排序默认是对item的内容进行排序

若使用

   

auto mitem = new QStandardItem("XXXX");

或者

auto mitem = new QStandardItem();
mitem .setText("XXXX");
			

由于其函数参数特性,会导致qt默认认为传入的值为QString类型,就算"XXXX"写的是数字也是字符串。

但可通过

mitem.setData(12313.223,Qt::EditRole);

实现对数字的传入,此函数默认参数类型为QVariant,故传入后view可通过QVariant识别出内容为数字,后进行排序可实现数值内容排序

 
posted @ 2017-09-10 12:36  Coologic  阅读(2035)  评论(0编辑  收藏  举报