Tkinter — это модуль графического интерфейса пользователя (GUI), который широко используется в настольных приложениях. Он поставляется вместе с Python, но вы также можете установить его извне с помощью команды pip.
Он предоставляет множество классов и функций виджетов, с помощью которых можно сделать наш графический интерфейс более привлекательным и удобным как с точки зрения внешнего вида, так и функциональности.
Функция привязки используется для обработки событий. Мы можем привязать функции и методы Python к событию, а также мы можем привязать эти функции к любому конкретному виджету.
Код №1:
Связывание движения мыши с рамкой tkinter.
# Import all files from
# tkinter and overwrite
# all the tkinter files
# by tkinter.ttk
from tkinter import *
from tkinter.ttk import *
# creates tkinter window or root window
root = Tk()
root.geometry('200x100')
# function to be called when mouse enters in a frame
def enter(event):
print('Button-2 pressed at x = % d, y = % d'%(event.x, event.y))
# function to be called when when mouse exits the frame
def exit_(event):
print('Button-3 pressed at x = % d, y = % d'%(event.x, event.y))
# frame with fixed geometry
frame1 = Frame(root, height = 100, width = 200)
# these lines are showing the
# working of bind function
# it is universal widget method
frame1.bind('<Enter>', enter)
frame1.bind('<Leave>', exit_)
frame1.pack()
mainloop()
Выход:
Код №2:
Привязка кнопок мыши к рамке Tkinter
# Import all files from
# tkinter and overwrite
# all the tkinter files
# by tkinter.ttk
from tkinter import *
from tkinter.ttk import *
# creates tkinter window or root window
root = Tk()
root.geometry('200x100')
# function to be called when button-2 of mouse is pressed
def pressed2(event):
print('Button-2 pressed at x = % d, y = % d'%(event.x, event.y))
# function to be called when button-3 of mouse is pressed
def pressed3(event):
print('Button-3 pressed at x = % d, y = % d'%(event.x, event.y))
## function to be called when button-1 is double clocked
def double_click(event):
print('Double clicked at x = % d, y = % d'%(event.x, event.y))
frame1 = Frame(root, height = 100, width = 200)
# these lines are binding mouse
# buttons with the Frame widget
frame1.bind('<Button-2>', pressed2)
frame1.bind('<Button-3>', pressed3)
frame1.bind('<Double 1>', double_click)
frame1.pack()
mainloop()
Выход:
Код №3:
Привязка кнопок клавиатуры к корневому окну (главное окно tkinter).
# Import all files from
# tkinter and overwrite
# all the tkinter files
# by tkinter.ttk
from tkinter import *
from tkinter.ttk import *
# function to be called when
# keyboard buttons are pressed
def key_press(event):
key = event.char
print(key, 'is pressed')
# creates tkinter window or root window
root = Tk()
root.geometry('200x100')
# here we are binding keyboard
# with the main window
root.bind('<Key>', key_press)
mainloop()
Выход:
Примечание: Когда мы связываем кнопки клавиатуры с окном tkinter, всякий раз, когда мы нажимаем специальные символы, мы получаем только пробел, в то время как в случае алфавитов и цифр мы получаем фактические значения (в строке).