python 如何从一个glib文件中插入条目到tkinter列表框中而不重复?

5jvtdoz2  于 2023-03-28  发布在  Python
关注(0)|答案(1)|浏览(99)

我尝试使用name或forecastTime等关键字从grib文件向tkinter列表框中插入项目,但我不希望列表框包含重复的值,每个值只包含一个。无法使用列表使其工作,并且ifs仅适用于特定文件,我希望它对任何附加到它的grib都是可操作的。代码如下:

from tkinter import *
import pygrib

okno = Tk()

grbs = pygrib.open('/home/michal/Desktop/ROUTING_subarea_1_wind_wave.grb2')

listaprognoza = Listbox(okno, height=8, width=50, exportselection=False)
listaprognoza.pack()

grbs.seek(0)
for grb in grbs:
    listaprognoza.insert(END, grb.name)
1sbrub3j

1sbrub3j1#

但我不希望listbox包含重复的值,每个值只包含一个
我从来没有试过pygrib
试试这个,如果它可以工作。

for grb in grbs:
    listaprognoza.insert(END, grb.name)
sort_list()

def sort_list():
    """
    function to sort listbox items case insensitive
    """
    temp_list = list(listaprognoza.get(0, ttk.tkinter.END))
    temp_list.sort(key=str.lower)
    # delete contents of present listbox
    listaprognoza.delete(0, ttk.tkinter.END)
    # load listbox with sorted data
    for item in temp_list:
        listaprognoza.insert(ttk.tkinter.END, item)

相关问题