Listboxとは
これです。
なんかComboboxと似ていますが、違いがあります。 Lsitboxは複数選択することができます。 リストボックスに新たなアイテムを追加することができます。
アイテムを削除することもできます。 ソースです。
import tkinter as tk
def callbackFunc(event):
for index in lb.curselection():
print(lb.get(index))
def addItem():
lb.insert(tk.END, 'Subaru')
def delItem():
ar = lb.curselection()
if len(ar) == 0:
return
index = ar[0]
lb.delete(index)
if __name__ == "__main__":
root = tk.Tk()
root.title('Listbox')
root.geometry("200x100")
# Combobox create
makers = ['Toyota', 'Nissan', 'Honda']
val = tk.StringVar(value=makers)
lb = tk.Listbox(
root,
listvariable =val,
selectmode='multiple',
height=4,
)
lb.bind(
'<<ListboxSelect>>',
callbackFunc)
lb.grid(row=0, column=0)
# Button
btnAdd = tk.Button(
root, text='最後に追加',
command=addItem)
btnAdd.grid(row=1, column=0)
btnDel = tk.Button(
root, text='削除',
command=delItem)
btnDel.grid(row=1, column=1)
root.mainloop()
複数選択可能にしたいなら、 selectmode='multiple' にしてください。 単一選択ならnormalにします。
アイテムの追加するためにbtnAddを実装します。また、アイテムを削除するためにbtnDelを実装します。それぞれ簡潔なコードなので参考になれば幸いです。
|