我做了一个程序,点击一个椭圆形(鼠标点击=起始点,鼠标释放=终点),如下面的代码所示,我想添加条件:当在绘图中按下 shift 键,它将使坐标相等,因此,将绘制一个圆(或完美的椭圆,如果你愿意)。
from tkinter import *
def draw(event):
if str(event.type)=='ButtonPress':
canvas.old_coords=event.x,event.y
elif str(event.type)=='ButtonRelease':
x,y=event.x,event.y
x1,y1=canvas.old_coords
canvas.create_oval(x,y,x1,y1)
canvas=Canvas()
canvas.pack()
canvas.bind('<B1-Motion>',draw)
canvas.bind('<ButtonPress-1>',draw)
canvas.bind('<ButtonRelease-1>',draw)
我怎么可能考虑按 shift 然后画圆圈?
答案 0 :(得分:0)
所以,我发现了一个名为 keyboard 的Python模块,我用它解决了我的问题,添加了这个条件:
if keyboard.is_pressed('shift'):
if y>y1: y=y1+abs(x-x1)
else: y=y1-abs(x-x1)
更改结束坐标,然后相应地绘制圆圈