Python“draw()必须使用Label实例作为第一个参数调用(改为使用_WindowMetaclass实例)”

时间:2010-06-12 22:33:48

标签: python pyglet

这是我使用Python和pyglet来显示窗口的类。

class Window(pyglet.window.Window):
    def __init__(self):
        super(Window, self).__init__()

        pyglet.text.Label("Prototype")

        windowText = text.Label.draw(Window, "Hello World",
                          font_name = "Times New Roman",
                          font_size = 36,
                          color = (193, 205, 193, 255))

    def on_draw(self):
        self.clear()
        self.label.draw()

每当我尝试运行它时,我都会收到错误“TypeError:unbound方法draw()必须使用Label实例作为第一个参数调用(得到_WindowMetaclass实例)”。我很确定我知道我必须做什么(找到如何获得Label的实例)而不是如何做到这一点。有人可以帮我理解如何使这项工作吗?

2 个答案:

答案 0 :(得分:2)

如果我不得不猜测,我会说你应该绑定你在上面创建2行的实例并使用它。

    mylabel = pyglet.text.Label("Prototype")

    windowText = mylabel.draw(...

答案 1 :(得分:0)

你给一个类“Window”而不是一个实例作为参数,试试“self”