【发布时间】:2018-04-18 03:40:40
【问题描述】:
我在 tkinter 窗口中有多个按钮,但在计算机上一次只有一个鼠标指针指向一个位置,如何像在触摸屏上一样同时按下多个按钮?
这是我正在尝试做的示例代码,
#!/usr/bin/python
import Tkinter as Tk
def button_pressed_cb(event):
print("You pressed " + event.widget['text'])
def button_release_cb(event):
print("You released " + event.widget['text'])
root = Tk.Tk()
button1 = Tk.Button(root, text="button1")
button1.pack()
button2 = Tk.Button(root, text="button2")
button2.pack()
button1.bind("<ButtonPress>", button_pressed_cb)
button1.bind("<ButtonRelease>", button_release_cb)
button2.bind("<ButtonPress>", button_pressed_cb)
button2.bind("<ButtonRelease>", button_release_cb)
root.mainloop()
执行此操作后,我得到类似这样的示例输出,
You pressed button1
You released button1
You pressed button2
You released button2
我想要实现的是能够生成按这个顺序发生的事件,
You pressed button1
You pressed button2
You released button2
You released button1
有人知道实现这一目标的最佳方法是什么吗?非常感谢。
【问题讨论】:
-
您在寻找合成事件的代码吗?或者只是构建它们,而不通过事件循环调度它们?还是直接调用处理程序?或者即使 Tkinter 不支持它们也能处理多点触控事件?还是……?
-
是的,基本上我想处理多点触控事件,即使 Tkinter 不支持它们。由于使用鼠标,我们一次只能单击一个按钮,因此需要一种解决方案,使我能够同时处理任意两个按钮按下或 3 个按钮一起按下等。