AttributeError:'str'对象没有属性'keys'

时间:2017-08-11 06:12:36

标签: python user-interface tkinter

以下是一个显示空窗口的简单tkinter程序:

# firstTkinter2.py
from Tkinter import Tk, Label
top = Tk()
l = Label(top, "Hello World")
l.pack()
# Give the window a title.
top.title("My App")
# Change the minimum size.
top.minsize(400, 400)
# Change the background colour.
top.configure(bg = "green")
# Run the widget.
top.mainloop()

我运行上面的代码,但遇到错误:

zhiwei@zhiwei-Lenovo-Rescuer-15ISK:~/Documents/python programs/tkinter$ python tk2.py
Traceback (most recent call last):
  File "tk2.py", line 4, in <module>
    l = Label(top, "Hello World")
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 2600, in __init__
    Widget.__init__(self, master, 'label', cnf, kw)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 2094, in __init__
    for k in cnf.keys():
AttributeError: 'str' object has no attribute 'keys'

如何修复此错误并让其正常运行?

2 个答案:

答案 0 :(得分:3)

尝试替换:

l = Label(top, "Hello World")

on

l = Label(top, text="Hello World")
#              ^^^^^^^

答案 1 :(得分:2)

使用Label(top, text="Hello World")

您必须使用text参数。