当前,当我写标签时,它只会写一行,有时这会在标签边缘消失,就像这样:



这是我用来写标签的代码示例:

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行)可能性)。

最佳答案

标签窗口小部件对此有一个完美的选择:wraplengt

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


Label's documentation on effbot.org


  确定何时将标签的文本换成多行。这以屏幕单位给出。默认值为0(不环绕)。

10-08 03:57