Computer >> Máy Tính >  >> Lập trình >> Python

Hàm ràng buộc trong Python Tkinter

Trong python tkinter là một thư viện GUI có thể được sử dụng để lập trình GUI khác nhau. Các ứng dụng như vậy rất hữu ích để xây dựng các ứng dụng máy tính để bàn. Trong bài viết này, chúng ta sẽ thấy một khía cạnh của lập trình GUI được gọi là các hàm Binding. Đây là về liên kết các sự kiện với các hàm và phương thức để khi sự kiện xảy ra, chức năng cụ thể sẽ được thực thi.

Sự kiện bàn phím ràng buộc

Trong ví dụ dưới đây, chúng tôi liên kết việc nhấn phím bất kỳ từ bàn phím với một hàm được thực thi. Khi cửa sổ Tkinter GUI được mở, chúng tôi có thể nhấn bất kỳ phím nào trên bàn phím và nhận được thông báo rằng bàn phím đã được nhấn.

Ví dụ

from tkinter import *

# Press a buton in keyboard
def PressAnyKey(label):
   value = label.char
   print(value, ' A button is pressed')

base = Tk()
base.geometry('300x150')
base.bind('<Key>', lambda i : PressAnyKey(i))
mainloop()

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Hàm ràng buộc trong Python Tkinter

Ràng buộc các sự kiện nhấp chuột

Trong ví dụ dưới đây, chúng ta thấy cách liên kết các sự kiện nhấp chuột trên cửa sổ tkinter với một lệnh gọi hàm. Trong ví dụ dưới đây, chúng tôi gọi các sự kiện để hiển thị là nhấp đúp vào nút trái, nhấp vào nút phải và nhấp vào nút cuộn để hiển thị vị trí trong canvas tkinter nơi các nút được nhấp.

Ví dụ

from tkinter import *
from tkinter.ttk import *

# creates tkinter window or root window
base = Tk()
base.geometry('300x150')

# Press the scroll button in the mouse then function will be called
def scroll(label):
   print('Scroll button clicked at x = % d, y = % d'%(label.x, label.y))
# Press the right button in the mouse then function will be called
def right_click(label):
   print('right button clicked at x = % d, y = % d'%(label.x, label.y))
# Press the left button twice in the mouse then function will be called
def left_click(label):
   print('Double clicked left button at x = % d, y = % d'%(label.x, label.y))

Function = Frame(base, height = 100, width = 200)
Function.bind('<Button-2>', scroll)
Function.bind('<Button-3>', right_click)
Function.bind('<Double 1>', left_click)
Function.pack()
mainloop()

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Hàm ràng buộc trong Python Tkinter