如果用 QTableView 可以先声明一个model,再把model指定给QTableView.排序时使用model的规则.
例如:
QStandardItemModel* model = new QStandardItemModel();
model->setSortRole(Qt::UserRole);
QTableView* tv = new QTableView();
tv->setSortingEnabled(true);
tv->setModel(model);
这时的QTableView将按照model里面的UserRole排序,而不是按显示内容排序,这就实现了自定义排序.
但是QTableWidget继承QTableView之后,把setModel()方法隐藏了.
这该怎么做自定义排序呢.
如果要自己重载QTableWidget的话,应该重写什么方法呢?