直接修改TKinter列表框中的特定项目?

时间:2013-01-08 19:34:43

标签: listbox python-2.7 tkinter

这是其中一个正在制作 - 确定 - 我没有错过任何帖子。

我在Python 2.7.3中有一个包含列表框的TKinter GUI,在某些情况下我想直接修改已知索引处特定项目的文本。我已经搜索了文档,没有lb.itemset()方法或类似的东西。最好的我可以告诉我有两个选择,其中任何一个都可以工作,但对我来说似乎有点笨拙:

  1. lb.delete()旧项目和lb.insert()相同索引处的新值(如果旧的已删除项目恰好被选中,则包括重新选择新值的步骤)

  2. 为列表框创建listvariable,然后在其上使用get()set() - 一堆replace / split /介于两者之间的join杂技来处理所涉及的不同字符串格式。

  3. 是否有一些更简单,更直接的方法可以让我失踪?或者我是否提供了所有可用选项?

1 个答案:

答案 0 :(得分:2)

从沉默中假设我没有错过任何东西。我选择了2 - 杂技并不像我想象的那么复杂。我刚创建了一个包含在课堂中的幕后列表;每次更新列表时,类都会通过在列表上执行' '.join然后将列表框的listvariable设置为结果字符串来同步列表框的内容。