簡體   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