gpt4 book ai didi

c++ - 如果单击标题 View ,如何按 TableView 中的列对数据进行排序

转载 作者:搜寻专家 更新时间:2023-10-31 01:45:02 24 4
gpt4 key购买 nike

我有一个 QTableView,其中填充了一个 QSqlQueryModel。我正在尝试根据检查的标题对表格进行排序,但是当我按下它们时没有任何反应。我使用函数 sortByColumn()问题是结果完全一样,当我单击标题时,排序不起作用。我究竟做错了什么?

 Log cnn;
QSqlQueryModel *modal=new QSqlQueryModel();
QSqlQuery *qry=new QSqlQuery(cnn.mydb);
qry->prepare("select *from log");
qry->exec();
modal->setQuery(*qry);
ui->tableView->setModel(modal);
ui->tableView->setAlternatingRowColors(true);
ui->tableView->setSortingEnabled(true);
ui->tableView->sortByColumn(4,Qt::AscendingOrder);//4 indicate the 4th column

最佳答案

我还使用 QSortFilterProxyModel 解决了我的问题。

Log cnn;
QSqlQueryModel *modal=new QSqlQueryModel(this);
QSqlQuery *qry=new QSqlQuery(cnn.mydb);
qry->prepare("select *from AccessLog");
qry->exec();
modal->setQuery(*qry);

QSortFilterProxyModel *m=new QSortFilterProxyModel(this);
m->setDynamicSortFilter(true);
m->setSourceModel(modal);
ui->tableView->setModel(m);
ui->tableView->setSortingEnabled(true);

关于c++ - 如果单击标题 View ,如何按 TableView 中的列对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22652038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com