Python Tkinter详解 (五)List列表的使用
程序员文章站
2022-04-12 10:41:24
...
#还是原来的配方,原来的味道,创建个List列表先
from tkinter import *
#相较于之前的写法,太过于麻烦,但是为了理解,从现在开始我们用更简略的写法
window = Tk() #这里跟之前也有区别哦
list = Listbox(window,width=20,height=10) #还有这里
list.pack()
for item in ['1','2','3']:
list.insert(0,item) #我们用insert方法将元素添加到列表中去
#注意这里的0指的是从哪个位置开始插入,后面一个就是要添加的内容,我们用for循环遍历添加进去
#如果需要添加到末尾,将0改为“end”即可
list.insert(0,'1','2','3') #我们也可以直接添加
window.mainloop()
#元素的删除
#我们上边讲了列表的创建和元素的添加,那么元素怎么样可以删除呢?
from tkinter import *
window = Tk()
list = Listbox(window,width=20,height=10,selectmode = MULTIPLE)
list.pack()
for item in ['1','2','3']:
list.insert(0,item)
list.delete(1) #我们使用delete()方法删除元素,1就是删除索引为1的元素(即第二个元素)
#如果我们需要删除‘1’,‘2’,‘3’三个元素的话,我们只需要改成list.delete(0,2)
window.mainloop()
#一次选择多个元素
#现在我们元素已经添加到列表中了,我们发现一次只能选择一个元素,我们可不可一次选择多个元素呢?
from tkinter import *
window = Tk()
list = Listbox(window,width=20,height=10,selectmode = MULTIPLE)
#selectmode属性就是设置元素多选的,当设置成MULTIPLE时,列表可以多选一次只能多选一项
#当设置成EXPANDED时,列表就支持Shift和Ctrl键啦,具体功能自己体会
list.pack()
for item in ['1','2','3']:
list.insert(0,item)
window.mainloop()
#一次性删除选中的选项
#现在我们已经知道怎么多选,怎么删除元素,那么我们怎么一次性将选中的选项都删除呢?
from tkinter import *
window = Tk()
list = Listbox(window,width=20,height=10,selectmode = EXTENDED)
list.pack()
list.insert(0,'1','2','3','4','5')
def deletelist():
a = list.size() #我们用size()方法可以知道当前列表中有多少元素啦
for i in range(a):
if(list.select_includes(a-1-i)) == True: #用select_includes()可以知道该选项是否被选中
list.delete(a-1-i)
#我们为什么要倒着检查呢?因为如果顺着检查,当删除后索引就会发生变化,就会出现问题啦
Button(window,text='单击',command=deletelist).pack()
window.mainloop()
#获取列表中元素的值
from tkinter import *
window = Tk()
list = Listbox(window,width=20,height=10,selectmode = EXTENDED)
list.pack()
list.insert(0,'1','2','3','4','5')
print(list.get(1)) #用get()方法可以很方便的获取元素的值
window.mainloop()
from tkinter import *
window = Tk()
value = StringVar()
list = Listbox(window,width=20,height=10,selectmode = EXTENDED,listvariable=value)
list.pack()
list.insert(0,'1','2','3','4','5')
print(value.get())
window.mainloop()
上一篇: js对象深度克隆实例详解