Tkinter画布创建矩形

Jak*_*ake 11 python canvas tkinter

在python,tkinter中,我正在尝试制作一个涉及在画布上创建形状的游戏.例如,我想在画布图像上显示一个红色矩形.当我执行我的代码时,你看到的矩形大小约为1个像素,我不知道为什么以及它是如何形成的.这是我的代码:

from tkinter import *
root = Tk()
root.geometry("500x900")
canvas = Canvas(root, width=550, height=820)
canvas.pack()
png = PhotoImage(file = r'example.png') # Just an example
canvas.create_image(0, 0, image = png, anchor = "nw")

a = canvas.create_rectangle(50, 0, 50, 0, fill='red')
canvas.move(a, 20, 20)
Run Code Online (Sandbox Code Playgroud)

希望这可以解决.

j_4*_*321 16

create_rectangle方法采用4个坐标: canvas.create_rectangle(x1, y1, x2, y2, **kwargs)(x1,y1)左上角的坐标,(x2,y2)右下角的坐标.但是你给了两倍相同的坐标,所以你的矩形的宽度和高度为零,这就是为什么你只能看到一个像素.试试看,canvas.create_rectangle(50, 0, 100, 50, fill='red')这次你应该得到50像素的正方形.

您可以create_rectangle在本网站上获得有关参数的更多详细信息.