将文本附加到标签tkinter

时间:2013-04-30 13:42:16

标签: python string tkinter label append

我坚持使用Python 3中的脚本。我想在tkinter中为已存在的标签添加其他文本。

我试过这个:

def labelConfig(string,append=False):
    if append:
        label.configure(text+=string)
    else:
        label.configure(text=string)

但是它不会编译......我怎么能这样做呢?

3 个答案:

答案 0 :(得分:3)

这不是tkinter问题,这适用于所有python。在函数调用中设置位置参数时,不能使用+=。相反,您必须获取值,然后根据需要进行修改,然后将新值分配给窗口小部件。

例如:

def labelConfig(string,append=False):
    if append:
        text = label.cget("text") + string
        label.configure(text=text)
    else:
        label.configure(text=string)

答案 1 :(得分:3)

除了Bryan Oakley的回答之外,如果您将标签文本作为字典中的值访问,也可以使用+=

def labelConfig(string,append=False):
    if append:
        label['text'] += string
    else:
        label['text'] = string

可以使用configure获取或设置的所有选项都具有等效语法widget['option'] = value,可以在此类情况下使用。

答案 2 :(得分:0)

text+=string是一个声明,所以它不会返回任何内容。您需要先从label获取值,然后连接这些字符串,然后将它们作为参数传递