Tkinter Listbox项目的排序

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

输出:

下面是使用默认排序与使用“从大到小”排序的操作界面。

Tkinter Listbox项目的排序

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程