Работа с tkinter Python
У меня есть потребность отобразить данные из SQLite3 в виде кнопок, чтобы по нажатию поле (tkinter.Entry()) заполнялось соответствующей информацией из таблицы. Пример: есть таблица с Именем и Фамилией. В окне tkinter'а создается столько виджетов кнопки, сколько всего людей в таблице. Кнопка должна иметь текст, который соответствует Имени из таблицы, по ее нажатию Имя и Фамилия должны попадать в виджет Entry().
Я пытался создать цикл for, который перебирает Имя и Фамилию из таблицы и создает кнопку с текстом=Имя, но созданные кнопки вставляли одинаковый текст.
import sqlite3 as sq
import tkinter as tk
if __name__ == '__main__':
root = tk.Tk()
root.geometry('1280x720')
root.resizable(False, False)
text_out = tk.Entry(root)
text_out.place(x=1040,y=20,width=200,height=20)
with sq.connect('database.sqlite3') as con:
cur = con.cursor()
cur.execute(
"""SELECT firstname, lastname FROM users"""
)
text_input.delete(0, tk.END)
plus_y = 0
for res in cur:
f_string = f'{res[0]} {res[1]}'
tk.Button(
root, text=f'Firstname: {res[0]}',
command=insert_name
).place(x=0, y=plus_y, width=200, height=15)
plus_y += 15
def insert_name():
text_out.insert(tk.END, f_string)
root.mainloop()