进步始于交流
收获源于分享

Qt-QTreeview/QTableView排序问题

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识别出内容为数字,后进行排序可实现数值内容排序

赞(0) 打赏
未经允许不得转载:Coologic » Qt-QTreeview/QTableView排序问题

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏