在画布上创建随机矩形

时间:2016-04-19 23:59:35

标签: python python-3.x tkinter tkinter-canvas

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

我有一个函数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)

1 个答案:

答案 0 :(得分:1)

这样做的一种方法是:

#!/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方法有点愚蠢,因为它需要参数但不使用它们。但是,您使用该方法的代码是正确的。