我有一个小的,不发达的白板应用程序,目前使用tkinter函数从widget接收输入,如widget.bind(<' x'>>,handler)
这是代码,如果有帮助的话:
---开始代码---
from tkinter import * # imports required files
canvas_width = 500
canvas_height = 500
def get_width():
return canvas_width
def get_height():
return canvas_height
def paint(event):
color = "black"
x1, y1 = (event.x - 1), (event.y - 1)
x2, y2 = (event.x + 1), (event.y + 1)
w.create_oval(x1, y1, x2, y2, fill=color)
def clear(event): # experimental helper function
print('Clearing whiteboard!(Invoked by <Button-3>, a right click.)')
color = '#FFFFFF'
w.create_rectangle(0, 0, canvas_width, canvas_height, fill=color)
master = Tk()
master.title("Painting using Ovals")
w = Canvas(master,
width=canvas_width,
height=canvas_height)
w.pack(expand=YES, fill=BOTH)
w.bind("<Button-3>", clear)
w.bind("<B1-Motion>", paint)
message = Label(master, text="Left-Click and Drag the mouse to draw, Right-click to clear the board")
message.pack(side=BOTTOM)
mainloop()
---结束代码---
我想知道的是,如果我将艺术设计图形绘图板插入我的计算机,tkinter仍能检测到点击吗?垫上的压力与使用鼠标左键单击的效果相同吗?可以按什么来调用绘图板上鼠标右键单击或移动轮的相应值?我知道这可能因程序,平板电脑和平板电脑而异,但任何信息都会非常有用!
答案 0 :(得分:1)
如果您能够使用任何设备点击/拖动/滚动计算机上的任何应用程序(例如此Web浏览器),那么它将生成tkinter将响应的相同事件。
如果平板电脑没有按预期运行,您可以绑定通用<Button>
回调并通过查看事件来检查它是哪个按钮:
def callback(event):
print(event.num)#I have always seen one of (1,2,3,'??')