繁体   English   中英

Python PyQt QTableWidet:如何实现“高级搜索”功能

[英]Python PyQt QTableWidet: How to implement an “advanced search” function

假设有一个QTableWidget填充了用户的数据,他/她希望能够使用多个用户定义的条件语句对其执行“高级搜索”:一个(程序员,而不是用户)如何实现一个功能中的代码,使用户能够执行此搜索?

例如,假设用户想要以下搜索结果:

(column1 > 20 AND column2 < 50) OR column3 = "cloud"

我想到的第一种方法是以某种方式采用用户的搜索条件并生成某种“元代码”,但是我不知道这将如何工作。

首先,编写一个解析器 ,然后定义一个函数/语法column ,该列根据当前行为您提供表的列内容。 然后遍历每一行,对解析后的表达式求值,并返回所有对值求正的行。

有关如何编写解析器的更多信息,请参见例如递归下降解析器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM