EmaSMach

Autocomplete?? Autosuggestion??

Apr 13th, 2020
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.30 KB | None | 0 0
  1. from tkinter import *
  2. import sqlite3
  3.  
  4. # def create_db():
  5. #     conn = sqlite3.connect('palabras.db')
  6. #     cur = conn.cursor()
  7. #     cur.execute('create table if not exists words(words text)')
  8. #     cur.execute('insert into words values (?)', ('silencio',))
  9. #     cur.execute('insert into words values (?)', ('hogar',))
  10. #     cur.execute('insert into words values (?)', ('zapallo',))
  11. #     cur.execute('insert into words values (?)', ('รฑeri',))
  12. #     conn.commit()
  13. #     cur.close()
  14. #     conn.close()
  15.  
  16. # create_db()
  17.  
  18.  
  19. def fetch_data(word):
  20.     conn = sqlite3.connect('palabras.db')
  21.     cur = conn.cursor()
  22.     cur.execute("select words from words where words like ? || '%'", (word,))
  23.     allw = cur.fetchall()
  24.     return allw
  25.  
  26.  
  27. def on_key_release(event):
  28.     qword = event.widget.get()
  29.     allw = fetch_data(qword)
  30.     listb.delete(0, END)
  31.     for w in allw:
  32.         listb.insert(END, w)
  33.  
  34. def on_selection(event):
  35.     ent.delete(0, END)
  36.     ent.insert(0, event.widget.selection_get())
  37.  
  38. root = Tk()
  39. ent = Entry(root)
  40. ent.bind('<KeyRelease>', on_key_release)
  41. listb = Listbox(root)
  42. listb.bind("<<ListboxSelect>>", on_selection)
  43. ent.grid(row=0, column=0)
  44. listb.grid(row=1, column=0)
  45. #first time listbox load
  46. allw = fetch_data('')
  47. for w in allw:
  48.     listb.insert(END, w)
  49. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment