在 canvas 上创建随机矩形

Create random rectangle on canvas

我想在我的矩形上创建一个随机矩形 class。

我有一个函数def randomRects(x,y,width,height):(x,y)是左上角,宽度必须小于90,高度必须小于70。

我知道要创建一个随机矩形,您必须执行类似 canvas.create_rectangle(x1,x2,y1,y1) 的操作,但我不确定在这种情况下该怎么做。我也不确定宽度和高度是否应该在参数中。

import random

class Rectangle:

def __init__(self, height, width):
    self.height = 80
    self.width = 100
 #not sure if above is correct

def randomRects(x,y,width, height):
        w = random.randrange(100)
        h = random.randrange(80) 
        w.create_rectangle(x,y,width,height)
        h.create_rectangle(x,y,width,height)

一种方法是这样的:

#!/usr/bin/env python
from tkinter import *
import random

root = Tk()

class Recta:
    def __init__(self, height, width):
        self.height=80
        self.width=100
    def randomRects(self,canvas):
        w = random.randrange(100)
        h = random.randrange(80)
        canvas.create_rectangle(0,0,h,w,fill='green')

c = Canvas(root)
c.pack()

tes = Recta(10,20)
tes.randomRects(c)

root.mainloop()

当然 init 方法有点愚蠢,因为它接受参数但不使用它们。不过,该方法的代码是正确的。