c++ - Qt C++ 排序TableView

标签 c++ qt qtableview

上次做“计算机服务”作为学习项目。我想在 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/

相关文章:

c++ - 关于C++中的条件变量

c++ - 将 QML 链接到 C++ - 或者我应该?

c++ - 在qt creator中调试时如何访问字符串变量的完整值?

qt - QPropertyAnimation 不起作用

python - PyQt5 中的 QTableView clicked.connect() 键盘滚动等效

qtableview - Qt Qtableview 没有收到标题项点击的信号

c++ - 嵌套的 CWnd 派生类中的 Tab 键不会改变焦点

c++ - Qt QString toInt() 失败

qt - 如何在QTableView中获取选定的行

c++ - long long 类型的后缀 LL