Skip to content

Commit dbafd0f

Browse files
committed
changes
1 parent fdf9fb2 commit dbafd0f

File tree

55 files changed

+97
-8
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+97
-8
lines changed

tkinter/listbox/README.md

Lines changed: 12 additions & 8 deletions
Lines changed: 13 additions & 0 deletions
Lines changed: 13 additions & 0 deletions
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/usr/bin/env python3
2+
3+
import tkinter as tk
4+
5+
def on_keyrelease(event):
6+
7+
# get text from entry
8+
value = event.widget.get()
9+
value = value.strip().lower()
10+
11+
# get data from test_list
12+
if value == '':
13+
data = test_list
14+
else:
15+
data = []
16+
for item in test_list:
17+
if value in item.lower():
18+
data.append(item)
19+
20+
# update data in listbox
21+
listbox_update(data)
22+
23+
24+
def listbox_update(data):
25+
# delete previous data
26+
listbox.delete(0, 'end')
27+
28+
# sorting data
29+
data = sorted(data, key=str.lower)
30+
31+
# put new data
32+
for item in data:
33+
listbox.insert('end', item)
34+
35+
36+
def on_select(event):
37+
# display element selected on list
38+
print('(event) previous:', event.widget.get('active'))
39+
print('(event) current:', event.widget.get(event.widget.curselection()))
40+
print('---')
41+
42+
43+
# --- main ---
44+
45+
test_list = ('apple', 'banana', 'Cranberry', 'dogwood', 'alpha', 'Acorn', 'Anise', 'Strawberry' )
46+
47+
root = tk.Tk()
48+
49+
entry = tk.Entry(root)
50+
entry.pack()
51+
entry.bind('<KeyRelease>', on_keyrelease)
52+
53+
listbox = tk.Listbox(root)
54+
listbox.pack()
55+
#listbox.bind('<Double-Button-1>', on_select)
56+
listbox.bind('<<ListboxSelect>>', on_select)
57+
listbox_update(test_list)
58+
59+
root.mainloop()

0 commit comments

Comments
 (0)