4

特定のキーの値を削除してから新しい情報を再入力するよりも、tkinter リストボックスの項目の順序を変更する簡単な方法はありますか?

たとえば、リストボックス内のアイテムを再配置できるようにしたいと考えています。2つの位置を交換したい場合、これが私が行ったことです。それは機能しますが、これを行うより迅速な方法があるかどうかを確認したいだけです。

def moveup(self,selection):
    value1 = int(selection[0]) - 1 #value to be moved down one position
    value2 = selection #value to be moved up one position
    nameAbove = self.fileListSorted.get(value1) #name to be moved down
    nameBelow = self.fileListSorted.get(value2) #name to be moved up

    self.fileListSorted.delete(value1,value1)
    self.fileListSorted.insert(value1,nameBelow)
    self.fileListSorted.delete(value2,value2)
    self.fileListSorted.insert(value2,nameAbove)
4

2 に答える 2

7

特定のキーの値を削除してから新しい情報を再入力するよりも、tkinter リストボックスの項目の順序を変更する簡単な方法はありますか?

いいえ。削除して再挿入するしか方法はありません。ただし、1 つの項目を 1 つ上に移動したい場合は、削除と挿入を 1 回だけ行うだけで済みます。

def move_up(self, pos):
    """ Moves the item at position pos up by one """

    if pos == 0:
        return

    text = self.fileListSorted.get(pos)
    self.fileListSorted.delete(pos)
    self.fileListSorted.insert(pos-1, text)
于 2012-10-30T07:41:42.797 に答える