在GUI中将tk.Entry文本显示为tk.Label(Python/Tkinter)初学者级别

在GUI中将tk.Entry文本显示为tk.Label(Python/Tkinter)初学者级别,python,tkinter,Python,Tkinter,我试图学习如何编程GUI应用程序,以显示在tk.Entry小部件中输入的文本和tk.Label小部件 代码: 输出: Traceback (most recent call last): File "C:\Program Files\Python37\lib\tkinter\__init__.py", line 1705, in __call__ return self.func(*args) File "D:/Code/Entry to Label

我试图学习如何编程GUI应用程序,以显示在tk.Entry小部件中输入的文本和tk.Label小部件

代码:

输出:

Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
  File "D:/Code/Entry to Label.py", line 7, in writelabel
    label = tk.Label(window,text="abc" + entry)
TypeError: can only concatenate str (not "Entry") to str
我已尝试将命令字符串化:

label = tk.Label(str(window,text="abc" + entry))
但是我得到了与上面相同的输出错误:

TypeError: can only concatenate str (not "Entry") to str
如果我还尝试对条目小部件设置字符串:

entry = tk.Entry(str(window))
我得到这个错误:

AttributeError: 'str' object has no attribute 'tk'
我想要的结果是最终用户在tk.entry小部件中输入的文本在最终用户单击tk.button小部件时显示为tk.label小部件

我知道答案很简单,但我就是看不出来。

我算出了

我必须将“entry”变量串起来,并包含一个.get()

使用
StringVar()
函数

v = StringVar()
将参数textvariable设置为变量v

entry = tk.Entry(window,textvariable=v)
entry.pack()
然后在标签小部件内部,您可以使用v.get()方法从条目小部件获取值

label = tk.Label(window,text="abc" + v.get())
您可以查看链接了解更多信息

应该是
“abc”+entry.get()
。它的工作方式是“abc”=str(entry.get())
str()
不是必需的,因为
entry.get()
返回字符串。我删除了str(),没有错误。默认情况下,entry.get()是一个字符串,不需要转换为
str()
entry = tk.Entry(window,textvariable=v)
entry.pack()
label = tk.Label(window,text="abc" + v.get())