上一次我做“计算机服务”作为一个学习项目。我想在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();你能帮我一下吗?
发布于 2017-01-06 00:09:21
在上面的代码片段中,您的部分似乎是可排序的,但不能单击。
要添加该功能,只需调用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();这应该可以做到这一点,并允许您只需单击标题即可按此列排序。
https://stackoverflow.com/questions/41489326
复制相似问题