Python 如何使用tkinter画布绘制完美的正方形?

Python 如何使用tkinter画布绘制完美的正方形?,python,python-3.x,tkinter,canvas,tkinter-canvas,Python,Python 3.x,Tkinter,Canvas,Tkinter Canvas,canvas.创建矩形(oldX,oldY,newX,newY,fill='red',outline=“”) 是否有任何方法仅创建正方形?您可以使用宽度和高度的最大值或最小值作为正方形的大小: I want to create a square on mouse drag. I can only create rectangles with 正方形就是边长相等的矩形。 dx, dy = newX-oldX, newY-oldY signx = 1 if dx >= 0 else -1

canvas.创建矩形(oldX,oldY,newX,newY,fill='red',outline=“”)


是否有任何方法仅创建正方形?

您可以使用宽度和高度的最大值或最小值作为正方形的大小:

I want to create a square on mouse drag. I can only create rectangles with 

正方形就是边长相等的矩形。
dx, dy = newX-oldX, newY-oldY
signx = 1 if dx >= 0 else -1
signy = 1 if dy >= 0 else -1
# user either min() or max() in below statement
size = max(abs(dx), abs(dy))
canvas.create_rectangle(oldX, oldY, oldX+size*signx, oldY+size*signy, fill='red', outline='', tag='rect')