2016-12-12 1 views
0

함수에서 함수를 호출하여 사용자가 입력 한 값을 입력하려고합니다. ultra() 함수를 호출하면 작동하고 사용자 입력을 성공적으로 인쇄하지만 ultra 함수를 호출하는 package() 함수를 호출하면 공백이 인쇄되고 작동하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?tkinter에서 함수를 사용할 때 사용자 입력이 저장되지 않습니다.

from tkinter import * 
    import tkinter 

    def package(): 
     global IDVar 
     window=tkinter.Tk() 
     window.title('Lightning Parties') 

     lbl_package=tkinter.Label(window, text='Please click on the Package you would like!', fg='white', bg='purple', font=('comicsans', 10)) 
     lbl_package.pack() 

     lbl=tkinter.Button(window, text='Ultra',command=ultra) 
     lbl.pack() 

    def ultra(): 
     import tkinter 
     global IDVar 
     win = Tk() 
     win.wm_title("Lightning Parties Validating") 
     frame1=Frame(win) 
     frame1.pack() 
     Label(frame1, text="Lightning Parties - Validating", font=("Helvetica 12 bold")).grid(row=0, column=0) 
     Label(frame1, text="ID").grid(row=1, column=0, sticky=W) 
     IDVar=StringVar() 
     title= Entry(frame1, textvariable=IDVar) 
     title.grid(row=1,column=1,sticky=W) 
     frame2 = Frame(win) 
     frame2.pack() 
     b1= Button(frame2, text="continue ", command=save) 
     b1.grid(column=1, row=2, sticky=W) 
     def save(): 
      global ID 
      ID = IDVar.get() 
      print ('here is', ID)  


    package() 

답변

0

Tk의 인스턴스를 두 개 이상 만들 수 없습니다. 둘 이상의 창이 필요한 경우, Toplevel의 인스턴스를 작성하십시오.

+0

감사합니다. 어떻게해야합니까? – brenda

관련 문제