从创建的列表框中突出显示项目(Tkinter)

时间:2018-10-29 08:04:24

标签: python tkinter

几周来,我一直在忙于为荷兰铁路创建程序。

使用Tkinter和Python,我成功地监视了所有列车的行驶和所有列车故障。

此刻,我在监视火车故障时遇到问题。我做了一个按钮,上面写着:“ Laad storage”(或:加载所有故障)。然后,此按钮使用API​​创建列表框。

此后,我想在列表框中搜索某些值(例如'Station Amsterdam,或Station Utrecht)。我想强调这一特定价值。 (和CTRL + F这样的功能)。

有人可以帮助我吗?

这是我的代码创建列表框:

def bevestigen_storingen():
actuele_storingen = 'http://webservices.ns.nl/ns-api-storingen?station=&actual=true&unplanned=true'
response_storing = requests.get(actuele_storingen, auth=login_api)
storingXML = xmltodict.parse(response_storing.text)
listbox_storing.delete(0, 'end')
storingenInvoer_autocomplete.configure(highlightbackground='#00339E', highlightthickness=0)
try:
    for vertrek in storingXML['Storingen']['Gepland']['Storing']:
        traject = vertrek['Traject']
        bericht = vertrek['Bericht']
        bb = re.sub("<p>|</p>|<b>|</b>|<br/>|<br/>u", "", bericht)
        aa = re.split("Wanneer: |Oorzaak: |Advies: |Extra reistijd: ", bb)
        listbox_storing.insert(END, "Traject: {}".format(traject))
        listbox_storing.insert(END, "Wanneer: {}".format(aa[1]))
        listbox_storing.insert(END, "Oorzaak: {}".format(aa[2]))
        listbox_storing.insert(END, "Advies: {}".format(aa[3]))
        listbox_storing.insert(END, "Extra reistijd: {}".format(aa[4]), "\n")
except:
    storingenInvoer_autocomplete.configure(highlightbackground='#00339E', highlightthickness=3, highlightcolor="red")

1 个答案:

答案 0 :(得分:0)

列表框是一个包含字符串列表的小部件,因此我将以搜索字符串列表的方式对其进行搜索。方法有些不同,但这应该不是问题。

我不清楚您是否要突出显示单个单词或整个行。据我了解,您只能选择一个或几行。

看看The Tkinter Listbox Widget