擅长:python、mysql、java
<p>为了扩展Tim的答案,如果使用<code>tkinter.listbox</code>的<code>currentselection()</code>函数,也可以对多个项目执行此操作。在</p>
<pre class="lang-py prettyprint-override"><code>l = self.lstListBox
posList = l.curselection()
# exit if the list is empty
if not posList:
return
for pos in posList:
# skip if item is at the top
if pos == 0:
continue
text = l.get(pos)
l.delete(pos)
l.insert(pos-1, text)
</code></pre>
<p>这将把所有选中的项目上移<code>1</code>位置。它也可以很容易地适应移动项目向下。您必须检查该项是否位于列表的末尾而不是顶部,然后将<code>1</code>添加到索引中,而不是减去。您还需要反转循环的列表,这样不断变化的索引就不会扰乱集合中未来的移动。在</p>