2012-10-22 46 views
0

我在wxPython中使用ObjectListView來呈現幾百到幾千條記錄,每條記錄都包含一個或兩個文本和一些數字字段。我想禁用ObjectListView的鍵入搜索功能,因爲它對我的目的並不是非常有用,而且我想將鍵用於其他事情。但是,我無法弄清楚如何禁用所有搜索,而不是將它轉移到另一列。在Python中禁用搜索ObjectListView

我想我可以攔截一個按鍵事件並阻止傳播,但是如果有「正確」的方式來做這件事,那看起來有點像黑客。

回答

0

我無法在課程文檔中找到「正確」的方法來完成此操作,並且在主框架和單元格編輯工作中阻止事件停止加速器。但是,如果您稍微遵守一些規則,則可以覆蓋_FindByTyping並不執行任何操作,從而刪除所有搜索代碼。

def _FindByTyping(self, searchColumn, prefix): 
    pass 
0

你試過設置:

self.typingSearchesSortColumn = False 

您OLV實例?

和傳球:

isSearchable=False 

到所有列定義的?

默認情況下,兩者都設置爲true。

+0

我確實嘗試了這些(以及一起)。然而,[class docs](http://objectlistview.sourceforge.net/python/majorClasses.html)表示'typingSearchesSortColumn = True'只是意味着在當前排序的列而不是「主」列中輸入搜索。 'isSearchable = True'只是表示如果該列已排序,則可以搜索而不是列0。 – Inductiveload