tkinter应知应会(六):listbox控件,展示列表内容
程序员文章站
2022-03-06 19:04:46
...
正如list(列表)之余Python,是非常重要的功能,因此有很多方法,listbox控件对于tkinter来说,也是一个大控件,有非常多的方法和功能。这里挑几个重要的讲。(其他的也不是不重要,遇到了再补充)
1,生成一个listbox
import tkinter as tk
# 创建一个列表,备用
alist = ['python','tkinter','java','c++']
root = tk.Tk()
listbox = tk.Listbox(root)
# listbox创建的时候,是空的,需要逐行插入数据
for item in alist:
# 'end'的意思是从最后插入(也有其他插入方式)
listbox.insert('end',item)
listbox.pack()
root.mainloop()
2,listbox的选择模式
single 单选
browse 单选,拖动鼠标或通过方向键可以直接改变选项
multiple 多选
extended 多选,需要同时按住Shift键或Ctrl键或拖拽鼠标实现
listbox里被选中的选项,状态是’active’。
# 在listbox里使用属性selectmode
import tkinter as tk
alist = ['python','tkinter','java','c++']
root = tk.Tk()
listbox = tk.Listbox(root,selectmode='multiple')
for item in alist:
listbox.insert('end',item)
listbox.pack()
root.mainloop()
3,listbox的插入、删除,以及获取listbox的全部内容
# 删除所选项,并保存最终结果
import tkinter as tk
alist = ['滚', '滚', '长', '江', '东', '逝', '水']
def delword():
listbox.delete('active') # 删除所选项
def save():
result = listbox.get(0,'end') # 保存所选项为元组
print(result)
root.destroy()
root = tk.Tk()
listbox = tk.Listbox(root)
for item in alist:
listbox.insert('end', item)
listbox.pack()
buttonDel = tk.Button(root,text='删除选中项',command=delword)
buttonDel.pack()
buttonSave = tk.Button(root,text='保存并关闭',command=save)
buttonSave.pack()
root.mainloop()