五筆打字通主頁
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 網站還有相關的系列課程文章,感興趣的可以前往。
來源:濟亨網
本文鏈接:http://www.chinaengraver.com/post/352.html