2015-07-11 4 views
0

Я новичок в Tkinter. Я пытаюсь сделать приложение GUI телефонной книги.Python - AttributeError: объект 'str' не имеет атрибутов 'items'

Итак, я только на стадии начала, Вот мой исходный код:

#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 

Может кто-нибудь пожалуйста, дайте я знаю, что здесь не так?

ПОМОЩЬ БУДЕТ ОЦЕНИВАЕМ!

ответ

2

Вы должны сказать tkinter, что это такое "One", "Two" и т.п .. для.

Button(f, text="One") 
Label(wn, text="This is my label!") 

Чтобы ответить, зачем вам это нужно, вы должны проверить, как работают функции и аргументы в python.

Кроме того, вы можете упаковать Frame, так как все ваши кнопки на нем, и вы можете использовать "left" вместо tkinter.LEFT

+0

я соответственно, но 'не luck' :( –

+1

спасибо .. Наконец работали !!:) Я бы принял ваш ответ после «2 минут». :) –

+0

@Bjarnestroustoup Вы не совсем Bjarne, если бы вы не нашли это самостоятельно: D – nbro

Смежные вопросы