0

I am using tkinter GUI. Created GUI, Now at one of my GUI ask Input value and I need to display that Input Value in another function and print that value.

Code is as below:

def EventOnBtnIO():
#some commutation

ForceNumericItem() #Called the function to open the new GUI

request = 'FF'+Value

print request

return

This is my GUI which consists of entry box and buttons

def ForceNumericItem():

 global Subtop
 Subtop = Toplevel(top)
 Subtop.geometry("350x110+500+200")
 Subtop.title("Force Numeric Items")
 Subtop.grab_set()

 frame = Frame(Subtop,width=15, height=200,bd = 1)
 frame.pack(fill = 'both',padx=3, pady=3)
 # frame.config(relief=RIDGE)

 global entry2 
 global entrytext2
 entrytext2 = IntVar()
 entry2 = Entry(frame,textvariable=entrytext2, width = 45)
 entry2.pack(padx = 5, pady = 5)
 entry2.focus_set()
 entry2.selection_range(0, END)


 topButtonShow = Button(frame, text = 'OK',command = ForceValue,width = 10)
 topButtonBack = Button(frame, text = 'Cancel',command = okclose,width = 10)
 topButtonShow.pack(side = LEFT,padx=45,pady=5)
 topButtonBack.pack(side = RIGHT,padx=45,pady=5)

 return

After OK click, it should take the Value and display in my EventOnBtnIO function

def ForceValue():
global Value
Value = int(entrytext2.get())
print Value
Subtop.destroy()
top.deiconify()
return

I think it is related to local or global varibale, but not able to fix it. Getting value now

FF

Expected value

FF + Value

1 Answers1

1

The function in which you create your popup window returns before the user has input a number in it. To fix this, you could use the .wait_window() method:

def EventOnBtnIO():
    ForceNumericItem()
    top.wait_window(Subtop)
    request = 'FF'+str(Value)
    print request
Josselin
  • 2,593
  • 2
  • 22
  • 35