AttributeError:“tkapp”对象没有属性“drawRectangle”

2024-10-01 11:27:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试让我的Tkinter包装器(专门用来制作游戏)正常工作,但当它试图绘制矩形时,它总是抛出一个错误。 回溯:
Traceback (most recent call last): File "C:\Users\William\Dropbox\IT\Thor\test.py", line 7, in <module>
aRectangle = thorElements.GameElement(pling,rectangleTup=(True,295,195,305,205,"blue"))
File "C:\Users\William\Dropbox\IT\Thor\thorElements.py", line 79, in __init__
self.rectangle = self.area.drawRectangle(self)
File "C:\Python33\lib\tkinter\__init__.py", line 1867, in __getattr__
return getattr(self.tk, attr)
AttributeError: 'tkapp' object has no attribute 'drawRectangle'

与问题相关的代码部分

class GameElement():
    def __init__(self,area,rectangleTup=(False,12,12,32,32,"red")):
        self.area = area
        self.lineTup = lineTup #Tuple containing all the data needed to create a line
        if self.lineTup[0] == True:
            self.kind = "Line"
            self.xPos = self.lineTup[1]
            self.yPos = self.lineTup[2]
            self.line = self.area.drawLine(self)

下面是将矩形绘制到画布上的实际方法(在管理canvas小部件的类中),在同一个文件的前面:

^{pr2}$

非常感谢所有的意见。在


Tags: inpyselfinitline绘制itarea
1条回答
网友
1楼 · 发布于 2024-10-01 11:27:24

错误消息的含义是不言自明的。当它说AttributeError: 'tkapp' object has no attribute 'drawRectangle'时,表示您正在尝试执行tkapp.drawRectangle或{},但是{}没有名为drawRectangle的属性或方法。在

由于您的代码没有显示您在何处创建tkapp,或者您如何创建它,或者您在哪里调用drawRectangle,因此我们不可能知道问题的根源是什么。很可能是以下情况之一:

  1. tkapp不是你想象的那样
  2. 您有一个打字错误,并打算调用drawLine,而不是drawRectangle
  3. 您打算实现drawRectangle,但没有实现

相关问题 更多 >