上次做“计算机服务”作为学习项目。我想在 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();
这应该可以解决问题,您只需单击标题即可按此列排序。
关于c++ - Qt C++ 排序TableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41489326/