1. 程式人生 > >QSqlQueryModel自定義排序的實現

QSqlQueryModel自定義排序的實現

在QSqlQueryModel模型中,是不具備排序能力的,必須重寫其虛擬函式sort來實現排序,但是可以通過代理的方式來實現排序,具體實現方法核心程式碼如下:

    queryModel = new QSqlQueryModel(this);
    proxyModel = new QSortFilterProxyModel(this);
    queryModel->setQuery(sql);
    proxyModel->setSourceModel(queryModel);
    tableView->setModel(proxyModel);

這樣便能夠實現點選tableView實現排序,若需要自定義的排序,也非常簡單,繼承QSortFilterProxyModel類,並重寫lessThan函式即可!