繁体   English   中英

如何将多个事件绑定到一个 function python tkinter

[英]How to bind multiple events to one function python tkinter

有没有更好的方法来执行以下操作:

master.bind("<Button-1>", function)
master.bind("<Button-2>", function)
master.bind("<Button-3>", function)

我想用不到三行代码将 3 个事件绑定到一个 function。 我知道这可能是不可能的。 我只是想知道你是否可以这样做:

master.bind("<Button-1>" and "<Button-2>" and "<Button-3>", function)

这不起作用,因为它只绑定"<Button-3>" 使用or代替and仅绑定"<Button-1>"

编辑:我可以使用通用的"<Button>" ,例如:

master.bind("<Button>", function)

我想要一个更通用的示例,例如可用于"<KP_0>""<Button-1>"示例。

我不相信 Tkinter 支持此功能,因为它本质上是一个循环。

如果你真的需要你的代码都在一行,试试这个。

master.bind("<Button-1>", function), master.bind("<Button-2>", function), master.bind("<Button-3>", function)

不是最好的做事方式,但它应该有效。

你可以做类似的事情

for b in ["<Button-1>", "<Button-2>", "<Button-3>"]: master.bind(b, function)

Tkinter 本身确实没有更漂亮的方法。 您可以创建一个 for 循环并重用保持不变的部分,但我建议将其全部写出来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM