как сделать список предложить слово из базы данных? - PullRequest
0 голосов
/ 13 апреля 2020

Я создаю настольное словарное приложение с помощью tkinter. Моя цель - сделать так, чтобы список подсказывал мне слово всякий раз, когда я вводил в виджет ввода. если я набираю слово, начинающееся с «ab ...», список предложит мне слово, начинающееся с «ab ..», и я щелкаю слово из списка, чтобы дать мне значение. я пытаюсь добиться этого, но я получаю ошибку;

def search(data):
    conn= sqlite3.connect('G_DICTION.db')
    cur= conn.cursor()
    tex.delete(1.0,"end")
    cur.execute("SELECT Meaning, Image FROM DICTION WHERE Words= ?", (data,))
    var= cur.fetchone()
    return var
    if var:
        tex.insert("end", var[0])  # accessing the meaning
    else:
        messagebox.showinfo("Dic","Word not found")

def on_key_release(event):
#qword = event.widget.get()
    data=event.v.get()
    print(data)
    var = search(data)
    listbox.delete(0, END)
    for w in var:
        listbox.insert(END, w)

  entry= tk.Entry(dictWin,font= ("Bahnschrift SemiLight",11), bg= "#FFFFFf", textvariable= v)
  entry.place(x=50, y= 25)
  entry.bind('<KeyRelease>', on_key_release)
  listbox = tk.Listbox(dictWin, width=35)

 listbox.place(x= 370, y=70)
 var=search("")
 for w in var:
    listbox.insert(END, w)

это ошибка;

  Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\Temmy\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, 
in __call__
    return self.func(*args)
  File "C:\Users\Temmy\.PyCharmEdu2019.1\config\scratches\DictDATAbase4test.py", line 70, in 
dictionary_window
    for w in var:
TypeError: 'NoneType' object is not iterable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...