2016-08-16 5 views
0

私はpython 3.5でtkinterを勉強しようとしていますが、何らかの理由でエントリボックスにテキストを印刷できません。ここに私のコードは次のとおりです。私はボタンを押したときにtkinterから変数を定義するエントリボックス

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個のエラーがあります:@cdontsではなくStringVar

2のStringVar()を使用し、言ったように

1))StringVar()は()のTkを呼び出した後に呼ばれるので、myentryを作成する前にtext = StringVar()を移動する必要があります:

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

括弧がありません。

text = StringVar() 
関連する問題