Python-SimpleGui-Listbox-Search之后我丢失了突出显示
我有一个非常简单的界面,其中有一个带有员工姓名的列表框和一个输入文本,我可以在其中输入姓名以便更快地搜索 我没有在输入中添加任何文本,我可以选择员工姓名,突出显示如下: 但是,如果我搜索名称(然后我将仅使用包含我编写的文本的名称更新新列表的此元素),我将无法获得突出显示,如您所见: 我的代码:Python-SimpleGui-Listbox-Search之后我丢失了突出显示,python,listbox,highlight,pysimplegui,Python,Listbox,Highlight,Pysimplegui,我有一个非常简单的界面,其中有一个带有员工姓名的列表框和一个输入文本,我可以在其中输入姓名以便更快地搜索 我没有在输入中添加任何文本,我可以选择员工姓名,突出显示如下: 但是,如果我搜索名称(然后我将仅使用包含我编写的文本的名称更新新列表的此元素),我将无法获得突出显示,如您所见: 我的代码: import PySimpleGUI as sg employees_list = ['John','Pete','Anne','Jack','Golsing'] layout = [[sg.Inp
import PySimpleGUI as sg
employees_list = ['John','Pete','Anne','Jack','Golsing']
layout = [[sg.Input(visible=True,size=(15, 1), enable_events=True,key='-input-')]
,[sg.Listbox(values=employees_list,size=(15, 3),enable_events=True, select_mode=sg.LISTBOX_SELECT_MODE_MULTIPLE, key='-employee-')]]
Window = sg.Window('DEV', layout)
while True:
Event, Values = Window.read()
if Event == sg.WIN_CLOSED:
break
if Values['-input-'] != '':
search = Values['-input-'].upper()
new_employees = [x.upper() for x in employees_list if search in x]
Window.Element('-employee-').Update(values=new_employees, select_mode=sg.LISTBOX_SELECT_MODE_MULTIPLE)
有人经历过吗?我怎样才能解决它
谢谢 您应该在这里处理不同的事件
如果值['-input-']!='':
在这里,如果生成任何事件,您将执行此操作,因此当您单击Listbox
时,Listbox
将被更新,因此选择将设置为无,这就是为什么没有选择或突出显示任何项
所以代码应该是
如果事件=='-input-'和值['-input-']!='':
在这里,当输入为空时,不会将列表框恢复为完整列表。所以也许你需要处理另一个案子
如果事件=='-input-'和值['-input-']='':
#使用值=员工\列表更新列表框