gpt4 book ai didi

python - Lambda 变量赋值(用于 Tkinter 命令回调)

转载 作者:行者123 更新时间:2023-12-01 04:02:43 25 4
gpt4 key购买 nike

我试图更多地了解 Tkinter,并在网上发现了这段代码

import Tkiner
import ttk
root = Tk()
l =ttk.Label(root, text="Starting...")
l.grid()
l.bind('<Enter>', lambda e: l.configure(text='Moved mouse inside'))
l.bind('<Leave>', lambda e: l.configure(text='Moved mouse outside'))
l.bind('<1>', lambda e: l.configure(text='Clicked left mouse button'))
l.bind('<Double-1>', lambda e: l.configure(text='Double clicked'))
l.bind('<B3-Motion>', lambda e: l.configure(text='right button drag to %d,%d' % (e.x, e.y)))
root.mainloop()

当我运行这个程序,并在按下人民币的同时将鼠标拖动到屏幕上时,它给了我坐标,正如在“B3-Motion”绑定(bind)中提到的那样。

在这种情况下,临时变量“e”到底指什么?

谢谢!

最佳答案

当您使用 widget.bind(...) 将函数绑定(bind)到事件时,tkinter 在调用该函数时始终会向代表该事件的函数传递一个参数。通常这被命名为event,但有时缩写为e

事件对象包含有关事件的信息,例如哪个小部件接收到事件、事件发生时光标的 x/y 坐标以及其他有用信息。

您可以在此处阅读有关该对象的更多信息:http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm

关于python - Lambda 变量赋值(用于 Tkinter 命令回调),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36222062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com