我目前正在尝试为一个函数创建一个小的UI,该函数根据已输入的字符串从数据框中返回一些值。字符串被分割,并使用iloc在我的数据框中查找每个子字符串。问题是,使用Tkinter中的按钮调用此函数时,未返回任何内容。如果没有Tkinter,它可以正常工作,所以我不确定错误发生在哪里。
master = Tk()
e1 = Entry(master)
list_of_inputs = e1.get().split()
def show_entry_fields():
i=0
while (i<len(list_of_inputs)):
return (backend.loc[backend['Keyword'] == list_of_inputs[i]])
i=i+1
Label(master, text="Enter Title").grid(row=0)
e1.grid(row=0, column=1)
Button(master, text='Show', command=show_entry_fields).grid(row=0, column=2, sticky=W, pady=4)
mainloop( )
答案 0 :(得分:0)
事物的结合:
show_entry_fields()
函数中的while循环将始终运行一次,而不管提供了多少输入,因为您在循环中放入了return语句可能的实现:
master = Tk()
e1 = Entry(master)
def show_entry_fields():
list_of_inputs = e1.get().split()
result = []
for entry in list_of_inputs:
result.append(backend.loc[backend['Keyword']] == entry)
# Alternatively, you can create the list with
# result = [backend.loc[backend['Keyword']] == entry for entry in list_of_inputs]
# Here, deal with the result
Label(master, text="Enter Title").grid(row=0)
e1.grid(row=0, column=1)
Button(master, text='Show', command=show_entry_fields).grid(row=0, column=2, sticky=W, pady=4)
mainloop()