我正在制作一个程序,您可以在其中搜索名称,并且sqlite3数据库中的所有内容都会显示出来。
def search():
tk = Tk()
tk.geometry('500x500')
labe = Label(tk, text="Search all: fullname, major, gender, class one, class two, class three")
labe.pack()
ent = Entry(tk, bd=5)
ent.pack()
def dog():
getted = ent.get()
conn = sqlite3.connect('friend.db')
if getted == "fullname":
with conn:
cursor = conn.cursor()
cursor.execute('SELECT name1 FROM Photos')
conn.commit()
result = cursor.fetchall()
for r in result:
tkee = Tk()
tkee.geometry('500x500')
lab = Label(tkee, text=r)
lab.pack()
tkee.mainloop()
buty = Button(tk, text="Submit", command=dog)
buty.pack()
当我输入我想要所有全名的程序时,程序运行正常,但幻灯片上只出现一个名字。直到我退出所有其他选项卡,其他名称才会显示出来。如果有人知道如何做到这一点,将不胜感激。谢谢,贾马尔
答案 0 :(得分:0)
发生的问题是您正在使用for循环。
result = cursor.fetchall()
for r in result:
tkee = Tk()
tkee.geometry('500x500')
lab = Label(tkee, text=r)
lab.pack()
tkee.mainloop()
如果仅将其更改为
result = cursor.fetchall()
tkee = Tk()
tkee.geometry('500x500')
lab = Label(tkee, text=result)
lab.pack()
tkee.mainloop()
然后它将起作用