Python-AttributeError:';str';对象没有属性';项目';

Python-AttributeError:';str';对象没有属性';项目';,python,tkinter,attributeerror,Python,Tkinter,Attributeerror,我是Tkinter的初学者。我正在尝试制作一个电话簿GUI应用程序 所以,我只是在开始一步,这是我的源代码: #This is my python 'source.py' for learning purpose from tkinter import Tk from tkinter import Button from tkinter import LEFT from tkinter import Label from tkinter import Frame from tkinter im

我是
Tkinter
的初学者。我正在尝试制作一个电话簿GUI应用程序

所以,我只是在开始一步,这是我的源代码:

#This is my python 'source.py' for learning purpose

from tkinter import Tk
from tkinter import Button
from tkinter import LEFT
from tkinter import Label
from tkinter import Frame
from tkinter import Pack

wn = Tk()
f = Frame(wn)

b1 = Button(f, "One")
b2 = Button(f, "Two")
b3 = Button(f, "Three")

b1.pack(side=LEFT)
b2.pack(side=LEFT)
b3.pack(side=LEFT)

l = Label(wn, "This is my label!")

l.pack()
l.pack()

wn.mainloop()
运行时,我的程序出现以下错误:

/usr/bin/python3.4 /home/rajendra/PycharmProjects/pythonProject01/myPackage/source.py
Traceback (most recent call last):
  File "/home/rajendra/PycharmProjects/pythonProject01/myPackage/source.py", line 13, in <module>
    b1 = Button(f, "One")
  File "/usr/lib/python3.4/tkinter/__init__.py", line 2164, in __init__
    Widget.__init__(self, master, 'button', cnf, kw)
  File "/usr/lib/python3.4/tkinter/__init__.py", line 2090, in __init__
    classes = [(k, v) for k, v in cnf.items() if isinstance(k, type)]
AttributeError: 'str' object has no attribute 'items'

Process finished with exit code 1
/usr/bin/python3.4/home/rajendra/PycharmProjects/pythonProject01/myPackage/source.py
回溯(最近一次呼叫最后一次):
文件“/home/rajendra/PycharmProjects/pythonProject01/myPackage/source.py”,第13行,在
b1=按钮(f,“一”)
文件“/usr/lib/python3.4/tkinter/_init__.py”,第2164行,在_init中__
小部件。_uu初始化(自身、主控、“按钮”、cnf、kw)
文件“/usr/lib/python3.4/tkinter/_init__.py”,第2090行,在_init中__
类=[(k,v)表示cnf.items()中的k,v,如果是实例(k,type)]
AttributeError:“str”对象没有属性“items”
进程已完成,退出代码为1
谁能告诉我这里出了什么问题吗


谢谢你的帮助

你需要说tkinter,那些是什么。。因为

Button(f, text="One")
Label(wn, text="This is my label!")
要回答您为什么需要它,您应该检查函数和参数在python中是如何工作的

另外,您可能需要打包您的
框架
,因为它上面的所有按钮都可以使用
“left”
而不是
tkinter。left

您的意思是这样的吗

from tkinter import Tk
from tkinter import Button
from tkinter import LEFT
from tkinter import Label
from tkinter import Frame
from tkinter import Pack

wn = Tk()
f = Frame(wn)

b1 = Button(f, text="One")# see that i added the text=
# you need the text="text" instead of just placing the text string 
# Tkinter doesn't know what the "One","Two",... is for.
b2 = Button(f, text="Two")
b3 = Button(f, text="Three")

b1.pack(side=LEFT)
b2.pack(side=LEFT)
b3.pack(side=LEFT)

l = Label(wn, "This is my label!")

l.pack()
l.pack()

wn.mainloop()

我照做了,但是运气不好(谢谢..终于成功了!!:)我会在
两分钟后接受你的回答@如果你自己没有发现这一点,你就不完全是比亚恩了:请简要描述一下