📅  最后修改于: 2023-12-03 15:34:05.354000             🧑  作者: Mango
在Python Tkinter中,列表框(Listbox)是用来显示一个列表的控件。列表框可以用来展示列表项,也可以与其它控件进行交互。
可以通过Listbox()
函数来创建一个列表框。
from tkinter import *
root = Tk()
# 创建一个列表框,并添加几个列表项
listbox = Listbox(root)
listbox.pack()
listbox.insert(END, "Python")
listbox.insert(END, "Java")
listbox.insert(END, "C++")
root.mainloop()
使用insert()
方法向列表框中添加列表项。insert()
方法接受两个参数,第一个参数是列表项要插入的位置,可以设置为END
表示列表末尾;第二个参数是要添加的列表项内容。
listbox.insert(END, "Python")
listbox.insert(END, "Java")
listbox.insert(END, "C++")
使用delete()
方法从列表框中删除列表项。delete()
方法接受两个参数,第一个参数是要删除的列表项的起始位置,第二个参数是要删除的列表项的结束位置。
listbox.delete(0, END) # 删除所有列表项
使用curselection()
方法获取列表框中当前选中的列表项的索引。
index = listbox.curselection()[0]
使用size()
方法获取列表框中列表项的个数。
size = listbox.size()
使用delete()
方法清除列表框中所有的列表项。
listbox.delete(0, END)
可以使用bind()
方法将列表框与按钮进行关联。当按钮被单击时,可以使用curselection()
方法获取列表框中选中的列表项,并使用get()
方法获取选中列表项的内容。
from tkinter import *
root = Tk()
# 创建一个列表框,并添加几个列表项
listbox = Listbox(root)
listbox.pack()
listbox.insert(END, "Python")
listbox.insert(END, "Java")
listbox.insert(END, "C++")
# 创建一个按钮
btn = Button(root, text="获取选中项")
btn.pack()
# 将列表框与按钮关联
def get_selected_item():
index = listbox.curselection()[0]
item = listbox.get(index)
print(item)
btn.configure(command=get_selected_item)
root.mainloop()
当列表框中的列表项过多时,可以将列表框与滚动条进行关联,以便滚动列表框查看所有的列表项。
from tkinter import *
root = Tk()
# 创建一个滚动条
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
# 创建一个列表框,并添加几个列表项
listbox = Listbox(root, yscrollcommand=scrollbar.set)
listbox.pack(side=LEFT, fill=BOTH)
listbox.insert(END, "Python")
listbox.insert(END, "Java")
listbox.insert(END, "C++")
# 将滚动条与列表框关联
scrollbar.config(command=listbox.yview)
root.mainloop()
Python Tkinter列表框是一个非常有用的控件,常用来展示一个列表,也可以与其它控件进行交互。列表框有多种方法可供使用,包括添加和删除列表项,获取选中的列表项等。同时,将列表框与其它控件进行关联也非常方便,如将列表框与按钮和滚动条关联,以便交互和滚动列表。