我有一个包含按钮名称的列表。首先,这些按钮用于触摸屏设备,而touch_move事件会使按钮具有基于列表的不同名称。所以我不是一次显示所有按钮。我希望能够显示一个连续的列表,即按钮1 - 10,只要有事件就会重复。
def get_nextname(self, *args):
#self.get_button_names is a list of names
num = len(self.get_button_names)
count = 0
while (count <= num):
self.c1name.text = self.get_button_names[count]
count = count + 1
答案 0 :(得分:0)
您可以使用itertools.cycle
来循环按钮对象:
>>> from itertools import cycle
>>> buttons = range(1, 11)
>>> buttons_cycle = cycle(buttons)
>>> for _ in xrange(20):
... print buttons_cycle.next()
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
或循环按钮列表的索引:
>>> from itertools import cycle
>>> buttons = range(1, 11)
>>> idx_cycle = cycle(xrange(len(buttons)))
>>> for _ in xrange(20):
... print buttons[idx_cycle.next()]
哪一个最适合你。就个人而言,我会坚持第一个版本。
请记住,itertools.cycle
会存储内部循环的列表。