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

Posted coologic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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识别出内容为数字,后进行排序可实现数值内容排序

以上是关于Qt窗口及控件-QTreeview/QTableView排序问题的主要内容,如果未能解决你的问题,请参考以下文章

[QT]在子窗口或者控件中绘图

Qt中怎样阻塞父窗口部分控件,而不完全阻塞父窗口所有控件??

怎么解决qt中主窗口背景设置,所有控件都会变成这个背景?

QT怎么设置控件在窗口大小发生变化的时候,使控件始终居于右上角

QT基本使用说明

qt 窗口控件自动调整大小