我坚持使用Python 3中的脚本。我想在tkinter中为已存在的标签添加其他文本。
我试过这个:
def labelConfig(string,append=False):
if append:
label.configure(text+=string)
else:
label.configure(text=string)
但是它不会编译......我怎么能这样做呢?
答案 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获取值,然后连接这些字符串,然后将它们作为参数传递