繁体   English   中英

Tkinter坐标从3开始?

[英]Tkinter coordinates start at 3?

我有以下代码:

from Tkinter import *

master = Tk()
canvas = Canvas(master, width=640, height=480, bd=0)
canvas.pack()

line_coords = (3, 3, 3, 100)
canvas.create_line(*line_coords, fill='red')

mainloop()

这将在左上角画一条线。 为什么如果我将line_coords更改为(2,2,2,100),该行不会呈现? 就像坐标系从(3,3)开始一样。

画布坐标明确地从零开始,窗框与您的问题无关。

问题是系统上画布的默认高亮度是3,这就是模糊你的线条的原因。 尝试将highlightthickness设置为零,即使x坐标为0,您也会看到您的线条。

不幸的是,borderwidth和highlightthickness都会侵占画布的坐标系。

坐标系可以从左上角开始, 包括操作系统的标题栏和边框,因此你必须向右和向下渲染一点。

它通常是依赖于操作系统的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM