天天看點

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識别出内容為數字,後進行排序可實作數值内容排序

Techie亮部落格,轉載請注明:Coologic » Qt-QTreeview/QTableView排序問題