當前位置:首頁 ? tkinter ? 正文

tkinter的listbox組件排序方法,源碼

  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()

運行結果

未命名.GIF

以上是是一串數值來排序,如果是字符來排序,那結果會是怎樣?大家可以把str1改一下。

改成 str1=['5','11','8','2','66','27'] 再測試看看。

此文章來自:wb98.com  網站還有相關的系列課程文章,感興趣的可以前往。

來源:濟亨網

本文鏈接:http://www.chinaengraver.com/post/352.html

    << 上一篇 下一篇 >>

    湘公網安備 43011102000514號 - 湘ICP備08100508號

    2019年秋霞鲁丝片瓜皮_导航亚洲AV日韩AV永久无码_有没有哪些可以看片的免费的_国产色妞妞在线视频免费播放