from tkinter import *
root = Tk()
form = "root, text='Hello'"
Label(form).pack()
root.mainloop()
这是一个基本的例子,但前提不变。上面的代码输出一个错误,而下面的代码工作。有什么方法可以修复顶部的代码,使其像底部的代码一样工作吗?你知道吗
from tkinter import *
root = Tk()
Label(root, text='Hello').pack()
root.mainloop()
Tags:
对python来说
form = "root, text='Hello'"
实际上只是一个值为"root, text='Hello'"
的字符串变量。当您尝试在函数/方法中使用它时,它会被视为一个sting,如果该函数/方法不是为处理该string对象而设计的,那么它将出错。tkinter小部件通常将其第一个值作为容器对象。以下参数用逗号分隔,通常都是关键字参数。Button方法无法知道您希望它将该字符串转换为关键字参数或位置参数。你必须按照设计的方式来做。你知道吗您可以传递一个包含字符串或其他值(如整数/浮点)的变量作为关键字参数
text
的读取方式可以读取字符串、int、boolean等内容。你知道吗像这样的事情很好:
如果您希望既能使用起始变量值,又能使用一些可以更新的值,那么可以使用
StringVar()
来更新标签文本,方法是使用textvariable
参数。你知道吗也可以使用
config
方法简单地更新函数中的标签。你知道吗您不希望将
root, text=
部分存储在变量中。要使标签文本变化,请将文本仅存储在变量中,如下所示:通过这种方式,您可以改变发生变化的部分,同时保留
root
和text
作为固定标识符。标识符应该直接写在源代码中。变量中不存储变量名。你知道吗相关问题 更多 >
编程相关推荐