2

PythonでPygletでウィンドウを開くためにこのコードを書きました...

import pyglet
from pyglet import window

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

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

        windowText = myLabel.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()

if __name__ == '__main__':
    window = Window()
    pyglet.app.run()

ただし、実行するたびに次のエラーが発生します。

TypeError: draw() takes exactly 1 non-keyword argument (3 given)

私の知る限り、「(3指定)」は問題がfont_sizeまたはcolor引数にあることを意味しますが、よくわかりません。誰かが何が問題なのかを説明し、私がこれを機能させるのを手伝ってもらえますか?

4

3 に答える 3

1

指定した 3 つのキーワード以外の引数は、オブジェクト インスタンス、、Windowおよび"Hello World"です。オブジェクト インスタンスのみが必要です。メソッドが受け取る引数については、ドキュメントをもう一度確認してくださいdraw()。どのタイプかわかるように、 repr()ofを印刷することを検討してください。myLabel

于 2010-06-13T00:24:17.380 に答える
1

draw() に渡すキーワード以外の 3 つの引数は、myLabel (暗示、becks self)、Window、および "Hello World" です。このメソッドのドキュメントはこちらです。

このようなことをもっとするつもりはなかったのですか?

myLabel = pyglet.text.Label("Hello World")
于 2010-06-13T00:28:45.663 に答える
0

私は pyglet を使用したことがありませんが、ドキュメンテーションによるとdrawはパラメーターを取りません。

ただし、コンストラクターはこれらのパラメーターを使用するため、次は有効です。

label = pyglet.text.Label('Hello, world',
                          font_name='Times New Roman',
                          font_size=36,
                          x=10, y=10)

ここから。

于 2010-06-13T00:26:18.120 に答える