我有一个tkinter gui,它具有基本的输入框和搜索按钮。在名为SearchList.py
的模块中搜索列表Main.py
from tkinter import *
from SearchList import *
root = Tk()
Output = []
def search():
search = e.get()
Output= SearchList.go(search)
#search bar
e= Entry(root, width=50, borderwidth=5)
e.grid(row=0, column=0, columnspan=2)
#search button
doneButton = Button(root, text="Search", width= 10, command=search).grid(row=0, column=4)
#arranges output in a 5 column rectangle
r, c = (1,0)
c_limit= 5
for thing in Output:
myButton = Button(root, text=thing,height=5, width=25, borderwidth=3, padx=10).grid(row=r,column=c)
c+=1
if c == c_limit:
c=0
r+=1
root.mainloop()
这可以让我输入要搜索的内容,并将其发送到Searchlist.py模块,并且输出(来自列表的匹配项)以矩形排列。
SearchList.py
Output = []
def main(search):
for x in range(list):
if list[x]== search:
Output.append(list[x])
else:
continue
Output.sort
return Output
def go(search):
with client:
client.loop.run_until_complete(main(search))
但是它一直返回None
。我也知道我一定不能正确调用模块-只是不确定如何。
这里有两个小问题。首先,您在return
中缺少一个SearchList.py
:
def go(search):
with client:
# insert return here
return client.loop.run_until_complete(main(search))
第二,您没有在search
中写入正确的变量:
def search():
global Output
search = e.get()
Output= SearchList.go(search)