首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >QSortFilterProxyModel未正确过滤

QSortFilterProxyModel未正确过滤
EN

Stack Overflow用户
提问于 2017-04-30 05:08:07
回答 1查看 383关注 0票数 1

我正在尝试使用QSortFilterProxyModel根据QLineEdit中的文本过滤QTableView。它正在工作,尽管不正确-它不显示“完全匹配”的项目。举个例子可以更好地说明我的意思。

示例:在QLineEdit中键入" 22“将显示第一列中包含"22”的行,但不会显示列等于22的行。将显示"229“,将显示"2224”,但不显示"22“

下面是我的代码的精简版本

代码语言:javascript
运行
复制
self.model = QSqlTableModel()
self.model.setTable("products")
self.model.select()

self.proxy = QSortFilterProxyModel()
self.proxy.setSourceModel(self.model)
self.proxy.setFilterKeyColumn(0)

self.ui.table_products.setModel(self.proxy)
self.ui.line_input.textChanged.connect(self._filter_products)

def _filter_products(self, text):
    search = QRegExp(
        text,
        Qt.CaseInsensitive,
        QRegExp.RegExp
    )

    self.proxy.setFilterRegExp(search)
EN

回答 1

Stack Overflow用户

发布于 2017-08-17 04:33:00

在我看来,您正在筛选第0列...

代码语言:javascript
运行
复制
self.proxy.setFilterKeyColumn(0)

...and该列中只有1行和22行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43700494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档