2016-08-16 2 views
0

python 3.5에서 tkinter를 배우려고하고 있는데, 어떤 이유로 입력 상자에 텍스트를 인쇄 할 수 없습니다. 여기 내 코드는 다음과 같습니다 I 버튼을 누를 때tunkinter에서 변수를 정의하십시오. 입력 상자

from tkinter import * 

text = StringVar 

def func(): 
    print(text.get()) 

root = Tk() 
root.geometry('450x450') 
root.title('App') 

mylabel = Label(text='My Label').grid(row = 0, column=0, sticky='W') 

mybutton = Button(text = 'Button',command = func).grid(row=0,column=1,sticky='W') 

myentry = Entry(root, textvariable=text).grid(row=1,column=1) 

root.mainloop() 

그러나, 나는 어떤 도움을 사전에

Traceback (most recent call last): 
    File "/usr/lib/python3.5/tkinter/__init__.py", line 1553, in __call__ 
    return self.func(*args) 
    File "tkapp.py", line 6, in func 
    print(text.get()) 
TypeError: get() missing 1 required positional argument: 'self' 

감사를 말하는 오류가 발생합니다!

답변

0

2 오류가 있습니다 :

text = StringVar() 
myentry = Entry(....) 
0

괄호가 없습니다. @cdonts 말했듯이

1), 대신 StringVar

2) StringVar()가 TK에()를 호출 한 후 호출해야의 StringVar()를 사용하므로 myentry를 작성하기 전에 text = StringVar() 이동 :

text = StringVar() 
관련 문제