PythonPyqt-QTableWidet:如何实现;“高级搜索”;功能

PythonPyqt-QTableWidet:如何实现;“高级搜索”;功能,python,pyqt,qtablewidget,Python,Pyqt,Qtablewidget,假设有一个QTableWidget,其中填充了用户的数据,他/她希望能够使用多个用户定义的条件语句对其执行“高级搜索”:一个人(程序员,而不是用户)如何在代码中实现一个函数,使用户能够执行此搜索 例如,假设用户希望获得以下搜索结果: (column1 > 20 AND column2 < 50) OR column3 = "cloud" (column1>20和column2

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

例如,假设用户希望获得以下搜索结果:

(column1 > 20 AND column2 < 50) OR column3 = "cloud"
(column1>20和column2<50)或column3=“cloud”
首先想到的方法是以某种方式获取用户的搜索条件并生成某种类型的“元代码”,但我不知道这将如何工作。

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


有关如何编写解析器的更多信息,请参见示例。

听起来像是您的“像SQL一样”查询命令???您希望搜索结果显示在何处/如何显示?最终,在QTableWidget中,但只有在执行用户定义的查询后才能显示结果。我的问题首先涉及如何执行用户定义的查询。谢谢您的回答。我相信我会努力实现这里给出的答案: