Python Tkinter 中的函数绑定


在 Python 中,tkinter 是一个 GUI 库,可用于各种 GUI 编程。此类应用程序对于构建桌面应用程序非常有用。在本文中,我们将了解 GUI 编程的一个方面,称为“函数绑定”。这与将事件绑定到函数和方法有关,以便当事件发生时就会执行特定函数。

绑定键盘事件

在以下示例中,我们将键盘上的任意按键与其被执行的函数相关联。Tkinter GUI 窗口打开后,我们可以按键盘上的任意按键并收到一条消息,表明该键盘已被按下。

示例

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()

输出

运行以上代码,会产生如下结果 −

绑定鼠标单击事件

在以下示例中,我们将了解如何将 Tkinter 窗口上的鼠标单击事件绑定到一个函数调用上。在以下示例中,我们将调用这些事件以显示左键双击、右键单击并滚动键单击在 Tkinter 画布上被单击的位置,该画布上是上面按钮单击的位置。

示例

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()

输出

运行以上代码,会产生如下结果 −

更新日期:2020-07-10

2000+ 次浏览

开启你的 职业生涯

完成课程即可获得认证

开始吧
广告