如何使用 QSortFilterProxy 更新 QTableView 的 rowCount?

Posted

技术标签:

【中文标题】如何使用 QSortFilterProxy 更新 QTableView 的 rowCount?【英文标题】:How to update rowCount of QTableView with QSortFilterProxy? 【发布时间】:2013-11-26 09:27:04 【问题描述】:

我有一个 QTableView 和一个自定义 QSortFilterProxy 以便能够在多个列中搜索我的数据。到目前为止效果很好。

现在我想显示行数。我想要当前显示的行数/数据库中的总行数

在程序启动时获取rowCount 绝对没有问题,但我不确定当通过我的QSortFilterProxy 过滤数据时如何重新计算当前可见的行。

任何帮助表示赞赏。谢谢。

【问题讨论】:

【参考方案1】:

您可以比较源代码和QSortFilterProxyModel 模型的rowCount() 函数的返回值。 例如,假设model 是指向您的QSortFilterProxyModel 的指针,那么:

int filteredRowCount = model->rowCount();
int allRowCount = model->sourceModel()->rowCount();

【讨论】:

你可能已经猜到了,我对 Qt 还比较陌生。你能详细说明你的答案吗?我应该如何告诉我的 QSortFilterModel 返回它的 rowCount? 这比我想象的要容易,谢谢。我一直在寻找一种从过滤后的模型中更新 rowCount 的方法。现在,我只是在发出新搜索后读取了当前可见行数。

以上是关于如何使用 QSortFilterProxy 更新 QTableView 的 rowCount?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 驱动程序在 MongoDB 中更新和更新多个文档

如何使用电子更新器自动更新电子应用程序?

如何在使用 observable 更新数组时更新 *ngFor 以及如何在网站加载时初始化 observable?

如何使用加入从选择中更新

如何首先使用实体​​框架代码更新一行?

如何使用 SQL 任务更新表