Qt C++ sorting TableView

Qt C++ sorting TableView

本文关键字:TableView sorting C++ Qt      更新时间:2023-10-16

>上次我把"计算机服务"作为一个研究项目。我想在QTableView中显示实际产品。它进展顺利,它很好地显示了SQLite的值。我想通过单击表的标题对值进行排序(按单击的列排序)。

这是我的代码:

QSqlQueryModel * modal = new QSqlQueryModel();
QSqlQuery * qry = new QSqlQuery();
qry->prepare("Select * from products");
qry->exec();
modal->setQuery(*qry);
ui->tableView_2->setModel(modal);
ui->tableView_2->setSortingEnabled(true);
ui->tableView_2->show();

你能帮我吗?

在上面的狙击中,您的部分似乎是可排序的,但不可点击。

要添加该功能,您只需调用 QHeaderView::setSectionsClickable()

QSqlQueryModel * modal = new QSqlQueryModel();
QSqlQuery * qry = new QSqlQuery();
qry->prepare("Select * from products");
qry->exec();
modal->setQuery(*qry);
ui->tableView_2->setModel(modal);
ui->tableView_2->setSortingEnabled(true);
ui->tableView_2->horizontalHeader()->setSectionsClickable(1);
ui->tableView_2->show();

这应该可以解决问题,并允许您简单地单击标题以按此列进行排序。