从艺术设计图形绘图板输入

时间:2016-01-26 04:38:15

标签: python graphics tkinter tablet

我有一个小的,不发达的白板应用程序,目前使用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仍能检测到点击吗?垫上的压力与使用鼠标左键单击的效果相同吗?可以按什么来调用绘图板上鼠标右键单击或移动轮的相应值?我知道这可能因程序,平板电脑和平板电脑而异,但任何信息都会非常有用!

1 个答案:

答案 0 :(得分:1)

如果您能够使用任何设备点击/拖动/滚动计算机上的任何应用程序(例如此Web浏览器),那么它将生成tkinter将响应的相同事件。

如果平板电脑没有按预期运行,您可以绑定通用<Button>回调并通过查看事件来检查它是哪个按钮:

def callback(event):
    print(event.num)#I have always seen one of (1,2,3,'??')