我正在忙着制作一个带有搜索功能的程序,其中一个人将进入例如主题"信息系统"在GUI Tk条目中,我希望它显示在那些具有信息系统的记录上。这是一些代码:
StudentList[[Tom,Information systems],[John,Computers]]
所以基本上如果我输入信息系统,它必须显示在我的列表框中: "汤姆,信息系统"
如何使此搜索功能正常工作? 这就是我试过的
for i in students:
if viewcode == True:
lb1.insert(END,str(i))
答案 0 :(得分:0)
这大致与您所寻求的一致。在“输入”框中输入搜索词,然后按“返回”。然后,它将使用学生列表中的任何匹配条目填充列表框。
from tkinter import *
student_list = [['Tom','Information Systems'],['John','Computers']]
class App(Frame):
def __init__(self,parent=None,**kw):
Frame.__init__(self,master=parent,**kw)
self.searchValue = StringVar()
self.searchBox = Entry(self,textvariable=self.searchValue)
self.searchBox.pack()
self.resultList = Listbox(self)
self.resultList.pack()
self.searchBox.bind('<Return>',self.update)
def update(self,e):
print("*")
self.resultList.delete(0,END)
searchkey = self.searchValue.get()
for student in student_list:
if searchkey == student[0]:
self.resultList.insert(END,str(student))
elif searchkey == student[1]:
self.resultList.insert(END,str(student))
if __name__ == '__main__':
root = Tk()
app = App(root)
app.pack()
root.mainloop()