2013-04-30 92 views
0

我被Python 3中的脚本卡住了。我想将附加文本附加到tkinter中已有的标签。将文本附加到标签tkinter

我尝试这样的:

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

但它不会编译...我怎么能这样正常吗?

回答

3

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

例如:

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

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

3
从布赖恩奥克利的回答,也可以使用 +=,如果你访问标签的文本从字典中值

除了:

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

所有选项可以通过configure得到或设置的语法具有相同的语法widget['option'] = value,可用于像这样的情况。