【问题标题】:Python Tkinter list box index number [duplicate]Python Tkinter列表框索引号[重复]
【发布时间】:2017-07-15 13:19:59
【问题描述】:
from Tkinter import *
import tkMessageBox
import Tkinter

top = Tk()

Lb1 = Listbox(top)
Lb1.insert(4, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(1, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")

Lb1.pack()
top.mainloop()

我在这里有一个 tkinter 程序,如何让 PHP 位居榜首 基本上我希望它们按索引号排序 提前致谢! 有一个问题很像我的问题,但我希望它们自动排序

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    基于this question,看起来在Listbox 中操作项目的顺序很困难。

    因此,如果您希望以编程方式对项目进行排序,看起来最好的选择是在 python 列表中对它们进行排序,然后将它们插入到列表框中。

    l = []
    # append tuples to the list
    l.append((4, "Python"))
    l.append((2, "Perl"))
    l.append((3, "C"))
    l.append((1, "PHP"))
    l.append((5, "JSP"))
    l.append((6, "Ruby"))
    
    # add to listbox in sorted order
    for index, language in sorted(l):
        Lb1.insert(index, language)
    

    【讨论】:

    • 这样就行了!把事情整理得井井有条。
    • 我不明白你对“硬”的定义。删除一个项目并将其插入到您想要的位置似乎并不难,并且在插入之前对项目进行排序似乎也不难。
    猜你喜欢
    • 2018-05-14
    • 2011-04-30
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    相关资源
    最近更新 更多