五笔打字通主页
listbox组件排序方法说来也简单,原理是:
先取得listbox内容的列表,然后把这个列表通过 sorted 方法来排序,再清空列表组件的原来内容,最后把排序好的列表把插入listbox组件就行了。
如果列表最开始并不是通过一个列表插入,然后就要通过 sortStr1=list(lbox1.get(0,END)) # 得到排序前的列表
下面是listbox排序的源码: 丶丌皛
from tkinter import * def sortjob(): if var.get()==True: datoxiao=True # 从大到小排序 else: datoxiao=False # 从小到大排序 sortStr1=list(lbox1.get(0,END)) # 得到排序前的列表 sortStr2=sorted(sortStr1,reverse=datoxiao) # 排序后的列表 lbox1.delete(0,END) # 清空原来列表的内容 lbox1.insert(END,*sortStr2) # listbox组件插入排序好列表 root=Tk() # 源码来自wb98.com root.title('listbox排序 wb98.com') str1=[5,11,8,2,66,27] # str1=['5','11','8','2','66','27'] lbox1=Listbox(root) lbox1.pack() lbox1.insert(END,*str1) # listbox组件插入一个列表 var=BooleanVar() ch1=Checkbutton(root,text="降序",variable=var) ch1.pack() but1=Button(root,text="开始排序",command=sortjob) but1.pack(pady=5) root.mainloop()
运行结果
以上是是一串数值来排序,如果是字符来排序,那结果会是怎样?大家可以把str1改一下。
改成 str1=['5','11','8','2','66','27'] 再测试看看。
此文章来自:wb98.com 网站还有相关的系列课程文章,感兴趣的可以前往。
来源:济亨网
本文链接:https://wb98.com/post/352.html