You are currently viewing Python | Функция Binding привязки в Tkinter

Python | Функция Binding привязки в Tkinter

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, всякий раз, когда мы нажимаем специальные символы, мы получаем только пробел, в то время как в случае алфавитов и цифр мы получаем фактические значения (в строке).