Python 我能';t在Tkinter中将我的变量作为标签输出

Python 我能';t在Tkinter中将我的变量作为标签输出,python,tkinter,label,Python,Tkinter,Label,我想把一个变量放在一个Tkinter标签中,这个标签打印出变量“x”的值 我试图按照Tkinter文档中的示例进行操作,但它似乎仍然在“第二次单击lblx2.place(窗口)”时给了我一个跟踪错误 我希望它能像普通文本一样把数字放在我的窗口上,但它不会打印任何东西 完整错误: Exception in Tkinter callback Traceback (most recent call last): File "REDACTED", line 1705, in __call__ ret

我想把一个变量放在一个Tkinter标签中,这个标签打印出变量“x”的值

我试图按照Tkinter文档中的示例进行操作,但它似乎仍然在“第二次单击lblx2.place(窗口)”时给了我一个跟踪错误

我希望它能像普通文本一样把数字放在我的窗口上,但它不会打印任何东西

完整错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "REDACTED", line 1705, in __call__ return self.func(*args)
  File "REDACTED", line 49, in <lambda> btn['command'] = (lambda: second_click())
  File "REDACTED", line 102, in second_click lblx2.place(window)
  File "REDACTED", line 2188, in place_configure 
  File "REDACTED", line 1320, in _options cnf = _cnfmerge(cnf)
  File "REDACTED", line 104, in _cnfmerge for c in _flatten(cnfs):
TypeError: object of type 'Tk' has no len()
Tkinter回调中出现异常 回溯(最近一次呼叫最后一次): 文件“已编辑”,第1705行,在_调用_返回self.func(*args)中 btn['command']=(lambda:second_click())中第49行的文件“已编辑” 文件“已编辑”,第102行,在第二行单击lblx2.place(窗口) 文件“已编辑”,第2188行,就地配置 文件“已编辑”,第1320行,在_optionscnf=_cnfmerge(cnf)中 文件“已编辑”,第104行,用于c in_展平(cnfs): TypeError:“Tk”类型的对象没有len()
当我从位置移除(窗口)时,它停止给出错误,但仍然没有将数字放在窗口上

我认为错误在于
窗口
不是标签对象的合适参数。相反,它用于更改元素的位置。你也可以

  • 将其转换为:
    lblx2.place(x=whatever,y=whatever)
    (注意:用位置替换whatever)

  • 完全删除整行代码,因为这是不必要的

    • 看不出有问题。请提供一个完整的示例,而不仅仅是不能简单运行的代码片段。这是我的,它没有重现这个问题,也没有比这更简单的了:

      from tkinter import *
      from random import random
      
      x = random()
      
      root = Tk()
      var_x = StringVar()
      var_x.set(x)
      Label(root, textvariable=var_x).pack()
      root.mainloop()
      

      您能粘贴完整错误吗?为什么要在
      place()
      中使用
      window
      ?可能这会给您带来错误。请尝试创建一个。如果您使用不带参数的
      place()
      ,则它可能不知道将标签放在何处。至少使用
      place(x=…,y=…)
      或使用其他方法放置它-
      grid()
      pack()
      不要像这样使用
      place()
      place()
      有一些非常特殊的用途,但大多数情况下,您将使用
      grid()
      pack()
      来管理布局。就我个人而言,我喜欢使用
      grid()
      处理几乎所有事情。如果我删除这行代码,我将如何输出标签本身?@RoastedT您将使用
      lblx2.pack()
      from tkinter import *
      from random import random
      
      x = random()
      
      root = Tk()
      var_x = StringVar()
      var_x.set(x)
      Label(root, textvariable=var_x).pack()
      root.mainloop()