2013-04-30 108 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,可用於像這樣的情況。