我在 wxPython 中使用 ObjectListView 来呈现几百到几千条记录,每条记录都包含一两个字符的文本和一些数字字段。我想禁用 ObjectListView 的键入搜索功能,因为它对我的目的不是很有用,我想将这些键用于其他事情。但是,我无法弄清楚如何禁用所有搜索,而不仅仅是将其转移到另一列。
我想我可以拦截一个按键事件并阻止传播,但是如果有一个“正确”的方法来做到这一点,这似乎有点像黑客攻击。
您是否尝试过设置:
self.typingSearchesSortColumn = False
在您的 OLV 实例上?
并通过:
isSearchable=False
到您的所有列定义?
默认情况下,两者都设置为 true。
我在课堂文档中找不到“正确”的方法来执行此操作,并且阻止事件停止了主框架中的加速器和单元格编辑工作。但是,如果你稍微改变一下规则,你可以覆盖而不_FindByTyping
做任何事情,从而删除所有的搜索代码。
def _FindByTyping(self, searchColumn, prefix):
pass