gpt4 book ai didi

python - 为什么 300*300 的 Oval 不能完美地适合 300*300 的 Canvas?

转载 作者:行者123 更新时间:2023-11-28 16:28:23 25 4
gpt4 key购买 nike

from Tkinter import *


class Ball:
def __init__(self, canvas, x1, y1, x2, y2):
self.x1 = x1
self.y1 = y1
self.x2 = x2
self.y2 = y2
self.canvas = canvas
self.ball = canvas.create_oval(self.x1, self.y1, self.x2, self.y2, fill="red")

# initialize root Window and canvas
root = Tk()
root.title("Balls")
root.resizable(False, False)
canvas = Canvas(root, width=300, height=300)
canvas.pack()

# create ball objects
ball = Ball(canvas, 0, 0, 300, 300)
root.mainloop()

如您所见,我在 300*300 的 Canvas 上画了一个 300*300 的椭圆,但椭圆与 Canvas 并不完全吻合。结果是(Mac 操作系统):

enter image description here

所以我的问题是:

  1. 为什么它不太合适?
  2. 我应该怎么做才能避免这种尴尬的事情?

编辑:

ball = Ball(canvas, 1, 1, 299, 299) 也不起作用,它给出:

enter image description here

最佳答案

Canvas 的可绘制区域默认小于 Canvas 的总宽度和高度。总大小包括小部件边框和高亮环。如果您希望可绘制区域为宽度和高度的 100%,则需要将 Canvas 的 borderwidthhighlightthickness 属性都设置为 0(零)。

关于python - 为什么 300*300 的 Oval 不能完美地适合 300*300 的 Canvas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34547313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com