首页 > 解决方案 > 为什么每当我运行此代码时,我的屏幕上都会出现一个白色矩形?

问题描述

from tkinter import *

window = Tk()
window.geometry('1000x1000')
window.configure(bg='black')

myCanvas = Canvas(window)
myCanvas.pack()

def create_circle(x, y, r, canvasName):
    x0 = x - r
    y0 = y - r
    x1 = x + r
    y1 = y + r
    return canvasName.create_oval(x0, y0, x1, y1)

create_circle(100, 100, 50, myCanvas)


window.mainloop()

输出如下所示: 在此处输入图像描述

为什么那里有一个白色的矩形?我只是想在黑色画布上打印一个圆圈。

标签: pythontkinter

解决方案


有两个错误导致您的问题:

1.任何默认画布的颜色都是白色。

2.画布还有一个默认的高亮边框,也是白色的。

要解决这两个问题,您可以更改:

myCanvas = Canvas(window)

myCanvas = Canvas(window, bg='black',highlightthickness=0)

然后白色矩形将消失

如果您想保留突出显示的边框,您还可以使用更改边框的颜色highlightbackground="black"

或任何其他所需的颜色。

最后,如果您想更改圆形的颜色,因为圆形融入了画布颜色outline="white" ,请在制作椭圆时添加:


推荐阅读