如何在pyGTK中搜索gtk.ListStore并删除元素?

2024-09-28 17:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码(其中store是一个gtk.ListStore,titer是一个gtk.TreeIter)。文档中说如果没有下一行,iter_next()将返回None,因此在找到该行时会中断。它应该搜索(int, str)ListStore,并删除其int组件与项目id匹配的项目

    while True:
        if store.get_path(titer)[0] == item_id:
            store.remove(titer)
            break
        else:
            titer = store.iter_next(titer)
            if titer is None:
                break

但是,如果中间的某个元素先前已被删除,而不是指向下一个有效元素的titer.iter_next(),则它将指向“无”。这意味着,如果具有右int值的元素位于先前删除的项之后,则永远找不到该元素。是否有正确的方法通过gtk.ListStore搜索以删除项目?


Tags: 项目store代码noneid元素gtkif