1

現在、ラベルに書き込むと、1行しか書き込まれず、次のようにラベルの端から消えることがあります。

ラベルの問題

ラベルに書き込むために使用しているコードの例を次に示します。

def updateLabel(self, event):
    global string
    global labelContents
    global windowCommand
    global currentEnvironment
    if event != "no input":
        windowCommand = self.getEntry(event)
        labelDisplay = "> " + windowCommand
        labelContents += labelDisplay
        labelContents += "\n"
        self.checkLabel()
        string.set(labelContents)
        self.textEntry.delete(0, END)
        self.master.after(0, play)
    else:
        self.checkLabel()
        string.set(labelContents)

labelContents += "You have died. Game over." + "\n"
labelContents += "You scored {0}.".format(score) + "\n"
app.updateLabel("no input")

特定のピクセル数(ラベル幅)の後に強制的に新しい行にする方法があったかどうかを知りたいのですが、どこにでも「\ n」を追加する必要はありません(最後の行は〜150の1であるため)可能性)。

4

1 に答える 1

2

ラベル ウィジェットには、そのための最適なオプションがありますwraplengt

label = Label(parent, text="This is a really long text; " * 5, wraplengt=200)

effbot.orgのラベルのドキュメントから:

ラベルのテキストをいつ複数行に折り返すかを決定します。これは画面単位で与えられます。デフォルトは 0 (ラッピングなし) です。

于 2013-04-08T08:32:33.663 に答える