簡體   English   中英

為什么300 * 300橢圓形無法完美貼合300 * 300 Canvas?

[英]Why a 300*300 Oval cannot fit a 300*300 Canvas perfectly?

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帆布上畫了一個300 * 300橢圓形,但是橢圓形不完全適合畫布。 結果是(Mac OS):

在此輸入圖像描述

所以我的問題是:

  1. 為什么它不完美?
  2. 我該怎么做才能避免這些尷尬的事情?

編輯:

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

在此輸入圖像描述

默認情況下,畫布的可繪制區域小於畫布的總寬度和高度。 總大小包括小部件邊框和高亮環。 如果希望可繪制區域為寬度和高度的100%,則需要將畫布的borderwidthhighlightthickness屬性設置為0(零)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM