我被 Python 3 中的脚本困住了。我想将其他文本附加到 tkinter 中已经存在的标签。
我试过这个:
def labelConfig(string,append=False):
if append:
label.configure(text+=string)
else:
label.configure(text=string)
但它不会编译......我怎样才能正确地做到这一点?
除了 Bryan Oakley 的回答之外,+=
如果您将标签文本作为字典中的值访问,也可以使用:
def labelConfig(string,append=False):
if append:
label['text'] += string
else:
label['text'] = string
所有可以获取或设置的选项configure
都具有等效的语法widget['option'] = value
,可以在这种情况下使用。
这不是 tkinter 问题,这适用于所有 python。+=
在函数调用中设置位置参数时不能使用。相反,您必须获取该值,根据需要对其进行修改,然后将新值分配给小部件。
例如:
def labelConfig(string,append=False):
if append:
text = label.cget("text") + string
label.configure(text=text)
else:
label.configure(text=string)
这text+=string
是一个声明,所以它不会返回任何东西。您需要首先从标签中获取值,然后连接这些字符串,然后将它们作为参数传递