Tkinter:在画布底部设置0,0坐标



当我通常创建画布时,(0,0)坐标放在它的左上角。现在我想把它设置在左下角。我想我必须设置"滚动区域",但我不知道该怎么做。有人能解释一下吗?

tkinter画布不支持更改坐标系。可以滚动画布,使0,0显示在左下角,但这不会影响坐标系。点(1,1)将始终位于点(0,0)的右侧和下方。

根据画布上的官方tcl/tk文档(tkinter只是tcl/tk-解释器的包装器):

坐标

所有与画布相关的坐标都存储为浮点数。坐标和距离是以屏幕单位指定的,这些单位是浮点数,可以选择后跟几个字母中的一个。如果未提供字母,则距离以像素为单位。如果字母是m,则屏幕上的距离以毫米为单位;如果是c,则距离以厘米为单位;i表示英寸,p表示打印机点数(1/72英寸)。较大的y坐标表示屏幕上较低的点;较大的x坐标表示向右更远的点。坐标可以指定为偶数个参数,也可以指定为包含偶数个x和y坐标值的单个列表参数。

转换

通常,画布坐标系的原点位于包含画布的窗口的左上角。可以使用xview和yview小部件命令调整画布坐标系相对于窗口原点的原点;这通常用于滚动。画布不支持画布坐标系相对于窗口坐标系的缩放或旋转。

您可以创建几个变量来保持屏幕的大小。然后用(self.screenWidth-0, self.sceenHeight-0)代替(0,0)

最新更新