2013-10-16 2 views
1

Tkinter() 항목 필드에서 값을 가져 오는 데 혼란을 겪고 있습니다. 나는 ...python Tkinter get() 값을 입력 필드에서

from Tkinter import* 

def valueGET(val1, val2): 
    print val1 + " " + val2 

class ContentUI(): 
def showLogin(self, frame): 

     self.contentUI = ContentUI()  

     L1 = Label(frame, text="Name") 
     L1.pack(side = LEFT) 
     L1.grid() 

     E1 = Entry(frame, bd =5) 
     E1.pack(side = RIGHT) 
     E1.grid() 

     L2 = Label(frame, text="Secret") 
     L2.pack(side = LEFT) 
     L2.grid()  

     E2 = Entry(frame, bd =5, show="*") 
     E2.pack(side = RIGHT) 
     E2.grid() 

     submit = Button(frame, text="Enter", width=15, command=valueGET(E1.get(), E2.get())) 
     submit.grid() 

class UIDisplay(): 
    def play(self): 
     root = Tk() 

     root.title(title) 
     root.geometry(dimension) 

     app = Frame(root) 

     contentUI = ContentUI() 
     contentUI.showLogin(app) 

     app.grid() 


     root.mainloop() 

adkooPlay = UIDisplay() 
adkooPlay.play() 

을 이러한 종류의 코드를 가지고 있지만 내 valueGET (VAL1, val2만큼) 메소드는 값을 인쇄하거나 심지어의 get() 메소드를 사용하여 그것을 얻을하지 않았다, 작동하지 않는 것 같다 Tkinter() 항목, 내가 잘못 했습니까? 어떻게해야합니까? 사전에

덕분에 ...

답변

4

valueGETsubmit 이전 버튼이 생성 된 코드를 호출. 그런 다음 함수의 반환 값을 command 인수로 Button 생성자에 전달합니다.

submit = Button(frame, text="Enter", width=15, command=valueGET(E1.get(), E2.get())) 

과 :

교체, folloiwng 라인 콜백과 같은 기능을 등록하려면

submit = Button(frame, text="Enter", width=15, command=lambda: valueGET(E1.get(), E2.get())) 
0

당신이 당신의 함수에서 인쇄 명령에 괄호 필요를

def valueGET(val1, val2): 
    print val1 + " " + val2 
+0

스택 오버플로에 오신 것을 환영합니다. 이 4 살짜리 질문은 이미 받아 들여지고 답변이 많습니다. 귀하의 노력은 최근의 질문이 아직 답변을 기다리고있는 사람들에게 더욱 감사 할 것입니다. – FluffyKitten

+0

파이썬 2에서만 인쇄물에 ** 대괄호가 필요하지 않습니다. 그래서 당신의 대답은 기본적으로 무의미합니다. – GhostCat

-1
from tkinter import * 
import tkinter as tk 
root =tk.Tk() 
mystring =tk.StringVar(root) 
def getvalue(): 
    print(mystring.get()) 
e1 = Entry(root,textvariable = mystring,width=100,fg="blue",bd=3,selectbackground='violet').pack() 
button1 = tk.Button(root, 
       text='Submit', 
       fg='White', 
       bg= 'dark green',height = 1, width = 10,command=getvalue).pack() 

root.mainloop()