Tkinter Listbox项目的排序
在使用Listbox时常需要处理项目排序工作,下面将以实例讲解。
示例1
这个程序中单击“排序”按钮时默认是从小到大排序,若是勾选复选框再单击“排序”按钮将从大到小排序。
from tkinter import *
def itemsSorted():
    if (var.get() == True):
        revBool = True
    else:
        revBool = False
    listTmp = list(lb.get(0,END))
    sortedList = sorted(listTmp,reverse=revBool)
    lb.delete(0,END)
    for item in sortedList:
        lb.insert(END,item)
fruits = [
    "Banana","Watermelon","Pineapple",
    "Orange","Grapes","Mango"
]
root = Tk()
root.title("apidemos.com")        # 窗口标题  
# root.geometry("300x250")     # 窗口宽300高210  
lb = Listbox(root)            # 建立Listbox
for fruit in fruits:          # 建立水果项目
    lb.insert(END,fruit)
lb.pack(padx=10,pady=5)
# 建立"Order"按钮
btn = Button(root,text="Order",command=itemsSorted)
btn.pack(side=LEFT,padx=10,pady=5)
# 建立排序设置复选框
var = BooleanVar()
cb = Checkbutton(root,text="Sorted from largest to smallest",variable=var)
cb.pack(side=LEFT)
root.mainloop()
输出:
下面是使用默认排序与使用“从大到小”排序的操作界面。

极客笔记