如何将整个sqlite3查询放到tkinter页上

2024-10-06 10:36:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个程序,你可以搜索一个名字,所有的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()

当我输入我想要的所有全名时,程序运行良好,但幻灯片上只出现一个名称。只有在我退出所有其他选项卡之前,其他名称才会显示出来。如果有人知道如何做到这一点,那将不胜感激。谢谢,贾马尔


Tags: textdefconnsqlite3cursorlabelpacktk
1条回答
网友
1楼 · 发布于 2024-10-06 10:36:04

出现的问题是您正在使用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()

那就行了

相关问题 更多 >