【发布时间】:2020-10-20 18:47:57
【问题描述】:
我有一个关于在将行插入树后按字母顺序排序的问题。我尝试通过添加或排序(数据)来添加方法 data.sort() 但它没有用。或者有什么方法可以一键按字母排序项目?
from tkinter import *
from tkinter import ttk
root = Tk()
root.title("Medicine database")
def add():
data = tree.insert("",END,values=("",e1.get()))
data.sort()
or sorted(data)
Or:
def sort():
for i in tree.getchildren():
tree.item(sorted(item))['values']
e1=Entry(root,width=15)
e1.grid(row=0,column=1,padx=10,pady=10,sticky=E,rowspan=1)
btn1 = Button(root,text="add",width=10,command=add)
btn1.grid(row =1,column=0,padx=10,pady=10,rowspan=2)
#treeview
tree = ttk.Treeview(root,height=25)
tree["columns"]=("one","two","three","four")
tree.column("one",width=120)
tree.column("two",width=160)
tree.column("three",width=130)
tree.column("four",width=160)
tree.heading("one", text="Numer seryjny leku")
tree.heading("two", text="Nazwa Leku")
tree.heading("three", text="Ampułki/Tabletki")
tree.heading("four",text="Data ważności")
tree["show"]="headings"
tree.grid(row=0,column=2,rowspan=6,pady=20)
root.geometry("840x580")
root.mainloop()
【问题讨论】:
-
也许这个问题有帮助:stackoverflow.com/questions/22032152/…
-
我更早尝试过这段代码,但没有帮助。我只想按字母顺序对行进行排序。
-
您可以调整函数以按字母顺序对行进行排序,只需按字母顺序对列表进行排序,然后使用与此代码中相同的方式对行进行重新排序
-
我也试过用这个stackoverflow.com/questions/1966929/tk-treeview-column-sort/…,但它不起作用:(