遍历Python中的wxListBox

时间:2014-10-09 02:10:39

标签: python listbox wxpython traversal

我有这种静态方法可以反转字符串中的字符:

 @staticmethod
 def reverse(s):
    txt = ''
    for i in range(len(s)-1, -1, -1):
        txt += s[i]
    return txt

我有一个填充了不同字符串的wxListBox。我需要遍历wxListBox并将反向方法应用于每个字符串:

 for name in [self.listBox1.GetString(i) for i in range(self.listBox1.GetCount())]:
        self.reverse(str(name))

上面的代码没有反转我的字符串,但我确信我的反向方法有效。如何将反向方法应用于wxListBox中的每个字符串?

1 个答案:

答案 0 :(得分:0)

您的代码完美运行:-)它确实可以反转字符串。但那就是它。如果你 想要在列表框中看到反向字符串,您必须更新列表框。 这一切都围绕着这样一个事实,即字符串是不可变的,并且在你的反向中 实际上返回一个新字符串(反向)但没有命令来放置字符串 回到列表框中。所以,这样的事情应该有效:

for i in range(self.listBox1.GetCount()):
    self.listBox.SetString(i, self.reverse(self.listBox1.GetString(i)))