Как получить весь запрос sqlite3 на странице tkinter - PullRequest
0 голосов
/ 20 ноября 2018

Я создаю программу, в которой вы можете искать имя, и все из базы данных 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()

Программа работает нормально, когда я ввожу, что мне нужны все полные имена, нотолько одно имя появляется на слайде.Только до тех пор, пока я не выйду из всех остальных вкладок, появятся другие имена.Если кто-нибудь знает, как это сделать, это будет с благодарностью.Спасибо, Джамал

1 Ответ

0 голосов
/ 20 ноября 2018

Проблема заключается в том, что вы используете цикл 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()

Тогда он будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...