簡體   English   中英

如何通過python Tkinter移動列表框的項目

[英]How to move item of listbox by python Tkinter

我在Tkinter中有以下python代碼。

import tkinter as tk

window = tk.Tk()
window.geometry('200x200')

label_var = tk.StringVar()
l = tk.Label(window, bg='yellow', width=4, textvariable=label_var)
l.pack()

當我單擊“ 下一個項目”按鈕時,我想移動列表框的項目 ,但是項目下限在項目1處停止。

def move():
    value = lb.get(lb.curselection())
    label_var.set(value)

    # move items of listbox 1, 2, 3, 4
    index = lb.curselection()[0] 
    lb.select_set(index + 1)  # move to item2 but default still stop at items 1


var = tk.StringVar()
var.set((1,2,3,4))
lb = tk.Listbox(window, listvariable=var)
lb.pack()

b1 = tk.Button(window, text='Next item', command=move)
b1.pack()

window.mainloop()

如何解決。

這是您的方法應為的樣子-

def move():
    value = lb.get(lb.curselection())
    x1 = lb.curselection()[0]
    lb.selection_clear(x1)
    if x1+1==lb.size():
        lb.selection_set(0)
    else:
        lb.selection_set(x1+1)
    label_var.set(value)

請注意,您需要處理極端情況,即列表的末尾。 在此代碼中,在列表的末尾,我從頭開始重新啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM