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

时间:2014-09-05 18:38:33

标签: python pyqt qtablewidget

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

有关如何编写解析器的更多信息,请参阅Recursive descent parser