排序QAbstractTableModel并将其暴露给qml

时间:2014-09-22 17:38:49

标签: c++ qt sorting tableview qml

我需要在Qtqml之间创建一个集成,其中Qt我向服务器请求一些信息,从{{1}创建tablemodel并将信息公开给Qt。我已达到这一点,但现在我要对信息进行排序。我使用的是qml,我发现的大部分示例都是为小部件创建的,并且是从QSortFilterProxyModel创建的tableview,但是当我尝试从{{1}创建它时在Qt中我没有选项qml我只有"setSortingEnabled"我有很多对象。我使用了qml订单,但TableView屏幕

没有变化

SimMainWindow.cpp

model->sort(1, Qt:AscendingOrder)

1 个答案:

答案 0 :(得分:0)

试试这个,它适用于我的情况:

Model model;

QSortFilterProxyModel proxyModel;
proxyModel.setSortRole(Model::YOURCUSTOM_ROLE_HERE);
proxyModel.setSourceModel(&model);
proxyModel.setDynamicSortFilter(true);
proxyModel.sort(0);

我怀疑您的模型没有排序,因为您必须通过设置setSortRole(int role)并应用void QSortFilterProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder) [virtual]来设置目标角色。

我希望这可以解决你的问题。