python - wxPython - 根据对 textctrl 的输入动态更新 listctrl

标签 python dynamic wxpython listctrl

你们中的任何人都可以举例说明如何使以下内容成为可能吗:

我有一个显示 > 600 个项目的 listctrl。现在我需要在这些项目中搜索用户输入的文本并更新列表以仅显示包含该字符串的项目。

假设列表包含“Hello”、“Hi”和“Morning”。该列表显示所有三个项目。现在用户在 textctrl 中键入“h”,listctrl 缩小为“Hello”和“Hi”。如果用户改为键入“o”,列表将变为“Hello”和“Morning”。

这可能吗?或者有没有其他方便的方法可以在 listctrl 中查找项目? “键入时查找”中的构建只有在您确切知道要搜索的内容时才有实际用处 - 而在我的情况下,情况并非如此......

谢谢,啄木鸟

最佳答案

wxPython 演示内置了一个非常好的“预先输入”过滤器。看着 source code to Main.py他们以“手动方式”进行操作,循环并重建列表。他们使用的是 TreeView ,但想法很合理:

def OnSearch(self, event=None):

    value = self.filter.GetValue()
    if not value:
        self.RecreateTree()
        return

    wx.BeginBusyCursor()

    for category, items in _treeList:
        self.searchItems[category] = []
        for childItem in items:
            if SearchDemo(childItem, value):
                self.searchItems[category].append(childItem)

    wx.EndBusyCursor()
    self.RecreateTree()    

关于python - wxPython - 根据对 textctrl 的输入动态更新 listctrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7059153/

相关文章:

python - 尝试将子图彼此相邻放置

python - 在 Python 记录器中使用变量控制的日志记录级别

python - wxPython在Ubuntu中打开文件时出错

python - 如何将 wxPython 用于 Python 3?

python - 生成适合其生成数据的对数正态样本

python - Numpy:零均值数据和标准化

python - 检查下一行然后实现该行应该去哪里

c# - 动态加载程序集引用问题

javascript - 动态写入js文件

windows - 如何修复 Windows 上 WxPython 控件中的模糊文本?