Проблемы с TkInter. Не могу взять данные для переменных
появился проблема в реализации изменения таблицы SQL с помощью GUI TKinter. При написании самого функционала проблем не было,всё работало, ведь всё вводилось через консоль. Сейчас мне надо брать значения из из окон Entry, беру с помощью .get(), но выдает ошибку: AttributeError: 'NoneType' object has no attribute 'get'
Ниже приведу пример моего кода на основе одной функции. Само собой объявление и расположение всех виджетов сделано.
nname = text1.get()
ngender = text2.get()
nage = text3.get()
nkind = text4.get()
nidfood = text5.get()
rowtoedit = text6.get()
with date:
date.execute("""
UPDATE Animal SET name=?,gender=?,age=?,kind=?,ID_Food=?
WHERE ROWID =?""",
(nname,ngender,int(nage),nkind,int(nidfood),int(rowtoedit))
)
date.commit()
ntype = text7.get()
nFirm = text8.get()
nCost = int(text9.get())
nnamefood = text10.get()
rowtoedit1 = int(text11.get())
with date:
date.execute("""
UPDATE food SET Type=?,Firm=?,Cost=?,NameFood=?
WHERE ROWID =?""",
(ntype, nFirm, nCost, nnamefood, rowtoedit1)
)
date.commit()
Ответы (1 шт):
я вам посоветую перейти на customtkinter и помогу решить проблему.
import tkinter as tk
root = tk.Tk()
list = []
def submit():
list.append(entryget.get())
#Сейчас я инициализирую переменную которая берет значение виджета
tk.Entry.
entryget = tk.StringVar()
#Если у вас циферный ввод используйте метод tk.IntVar()
e = tk.Entry(root, textvariable=entryget)
e.pack()
b = tk.Button(root, text="Submit", command=submit)
b.pack()
root.mainloop()
Извините что описываю все на примере своего кода так как ваш непонятен и неполный. Тут суть в том что метод .get() нужно добавлять к переменным виджета а не к самому виджету. Надеюсь, ответ был полезным. Удачи в програмировании!