python 代码self.point = title.rectangle().mid_point()执行第一遍是正常的,执行第二次就报错,为什么
时间: 2024-05-31 09:09:03 浏览: 4
可能是因为你没有清空之前的 `title` 对象,导致再次执行 `title.rectangle()` 方法时出错。你可以尝试在执行 `self.point = title.rectangle().mid_point()` 之前,先将 `title` 对象置为 `None` 或者新建一个 `title` 对象。
相关问题
self.point = title.rectangle().mid_point() AttributeError: 'int' object has no attribute 'rectangle' 这个是什么错误
这个错误是说明在一个整数对象上调用了一个名为 `rectangle()` 的方法,但是整数对象没有这个方法。通常情况下这种错误是由于代码中的某个变量或表达式的值出现了错误的类型导致的。你需要检查代码中涉及到 `rectangle()` 的部分,看看你传入的参数是否正确,或者是否应该使用另一个对象或变量作为参数。
def __init__(self, canvas, ltx, lty, rbx, rby, color): self.lx=ltx self.ly=lty self.rx=rbx self.ry=rby self.cvs = canvas self.color=color self.id = canvas.create_rectangle((ltx, lty, rbx, rby), fill = color)的错误
这段代码是一个类 `Brick` 的构造函数。它接受参数 `canvas`、`ltx`、`lty`、`rbx`、`rby` 和 `color`,并将它们存储在类的属性中。然后,它创建一个矩形形状,并将其添加到 `canvas` 中。其中,`canvas.create_rectangle` 方法的参数是一个元组,包含左上角和右下角的坐标,以及填充的颜色。在这段代码中,`self.id` 属性存储了 `canvas.create_rectangle` 方法的返回值,以便稍后可以使用该值来删除形状。但是,这里有一个错误,`canvas` 的拼写应该是 `self.cvs`,因为前面已经在 `__init__` 方法中将其存储为了 `self.cvs` 属性。