-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path1_5_events.py
39 lines (28 loc) · 987 Bytes
/
1_5_events.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import tkinter as tk
import ttkbootstrap as ttk
# list of events
# pythontutorial.net/tkinter/tkinter-event-binding
def get_pos(event):
print(f'x: {event.x} y: {event.y}')
# window
window = ttk.Window(themename = 'solar')
window.geometry('800x1000')
window.title('Event Binding')
# widgets
text = tk.Text(window)
text.pack()
entry = ttk.Entry(window)
entry.pack()
button = ttk.Button(window, text = 'A button')
button.pack()
# events
# button.bind('<Alt-KeyPress-a>', lambda event: print(event))
# window.bind('<KeyPress>', lambda event: print(f'a button was pressed ({event.char})'))
# window.bind('<Motion>', get_pos)
entry.bind('<FocusIn>', lambda event: print('entry field was selected'))
entry.bind('<FocusOut>', lambda event: print('entry field was unselected'))
# exercise :
# print 'Mousewheel' when the user holds down shift and uses the mousewheel while text is selected
text.bind('<Shift-MouseWheel>', lambda event: print('Mousewheel'))
# run
window.mainloop()