上下移动树视图

问题描述 投票:0回答:1

我正在使用Os.walk()在python中填充tkinter树视图,但在填充后,我希望能够使用按钮对树叶进行重新排序。

用于向上移动树的命令效果很好(我希望能够一次移动多片叶子)

def moveUp():
    leaves = Tree.selection()
    for i in leaves:
        Tree.move(i, Tree.parent(i), Tree.index(i)-1)

但是当我将它扭转到树下时,我得到了一个奇怪的错误

def moveDown():
    leaves = Tree.selection()
    for i in leaves:
        Tree.move(i, Tree.parent(i), Tree.index(i)+1)

我只能向下移动单个叶子,如果我选择奇数的叶子,那么最低的叶子会向下移动,如果我选择偶数的叶子,它们都不移动。

python tkinter treeview ttk
1个回答
0
投票

如注释中所建议的那样,使用reversed()以相反的顺序遍历叶子即可解决此问题。 (将发表评论,但我没有声誉)

def moveDown():
    leaves = Tree.selection()
    for i in reversed(leaves):
        Tree.move(i, Tree.parent(i), Tree.index(i)+1)
© www.soinside.com 2019 - 2024. All rights reserved.