I'm trying to run an If statement and my scroll widget only works for anything other 1,2,3,4,5. This number is typed in by user in gui which then determines which strings is used for variable TextForReview. I get the error "NameError: name 'ChildFirstBox4' is not defined" but they're all global variables. I'm using the scroll widget to clean up gui, so before trying widget, .place would work for all variables. Is there something i'm not calling correctly or the order of the functions is correct?
def Scroll():
global ChildScroll
global text_area
ForScrollText()
# Title Label
ChildScroll = Label(AppWindow, text="ScrolledText Widget Example",
font=("Times New Roman", 15),background='green',
foreground="white")
ChildScroll.place(relx=0.5, rely=0.03)
# Creating scrolled text area
# widget with Read only by
# disabling the state
text_area = st.ScrolledText(AppWindow, width=15,height=8,
font=("Ariel",10))
text_area.place(relx=0.5, rely=0.1, relheight=.4, relwidth=.3)
# Inserting Text which is read only
# IF statement + Batman functions
text_area.insert(tk.INSERT, TextForReview)
# Making the text read only
text_area.configure(state='disabled')
#All the different texts for info page for children
def BatmanCommand():
Batman1()
Batman2()
Batman3()
Batman4()
Batman5()
Batman6()
# Infomation for child 1
def Batman1():
global a
a = ChildFirstBox1.get() + ", " + DOBBox1.get() + ", " + GenBox1.get() + ", " + AgeBox1.get()\
+ "\nShirt Size: " + ShirtBox1.get()\
+ "\nPants Size: " + PantsBox1.get()\
+ "\nShoes Size: " + ShoeBox1.get() \
+ "\nWish 1: " + WishBox1.get()\
+ "\nWish 2: " + WishBox2.get()\
+ "\nNeed: " + WishBox3.get()
# Infomation for child 2
def Batman2():
global b
b = ChildFirstBox2.get() + ", " + DOBBox2.get() + ", " + GenBox2.get() + ", " + AgeBox2.get()\
+ "\nShirt Size: " + ShirtBox2.get()\
+ "\nPants Size: " + PantsBox2.get()\
+ "\nShoes Size: " + ShoeBox2.get() \
+ "\nWish 1: " + WishBox1_2.get() \
+ "\nWish 2: " + WishBox2_2.get() \
+ "\nNeed: " + WishBox3_2.get() \
# Infomation for child 3
def Batman3():
global c
c = ChildFirstBox3.get() + ", " + DOBBox3.get() + ", " + GenBox3.get() + ", " + AgeBox3.get()\
+ "\nShirt Size: " + ShirtBox3.get()\
+ "\nPants Size: " + PantsBox3.get()\
+ "\nShoes Size: " + ShoeBox3.get() \
+ "\nWish 1: " + WishBox1_3.get() \
+ "\nWish 2: " + WishBox2_3.get() \
+ "\nNeed: " + WishBox3_3.get() \
# Infomation for child 4
def Batman4():
global d
d = ChildFirstBox4.get() + ", " + DOBBox4.get() + ", " + GenBox4.get() + ", " + AgeBox4.get()\
+ "\nShirt Size: " + ShirtBox4.get()\
+ "\nPants Size: " + PantsBox4.get()\
+ "\nShoes Size: " + ShoeBox4.get() \
+ "\nWish 1: " + WishBox1_4.get() \
+ "\nWish 2: " + WishBox2_4.get() \
+ "\nNeed: " + WishBox3_4.get() \
# Infomation for child 5
def Batman5():
global e
e = ChildFirstBox5.get() + ", " + DOBBox5.get() + ", " + GenBox5.get() + ", " + AgeBox5.get()\
+ "\nShirt Size: " + ShirtBox5.get()\
+ "\nPants Size: " + PantsBox5.get()\
+ "\nShoes Size: " + ShoeBox5.get() \
+ "\nWish 1: " + WishBox1_5.get() \
+ "\nWish 2: " + WishBox2_5.get() \
+ "\nNeed: " + WishBox3_5.get() \
# Infomation for child 6
def Batman6():
global f
f = ChildFirstBox6.get() + ", " + DOBBox6.get() + ", " + GenBox6.get() + ", " + AgeBox6.get()\
+ "\nShirt Size: " + ShirtBox6.get()\
+ "\nPants Size: " + PantsBox6.get()\
+ "\nShoes Size: " + ShoeBox6.get() \
+ "\nWish 1: " + WishBox1_6.get() \
+ "\nWish 2: " + WishBox2_6.get() \
+ "\nNeed: " + WishBox3_6.get() \
def ForScrollText():
BatmanCommand()
global TextForReview
TextForReview = ""
if NumKids.get() == "1":
TextForReview = " " + a
elif NumKids.get() == "2":
TextForReview = " " + a + "\n\n" + b
elif NumKids.get() == "3":
TextForReview = " " + a + "\n\n" + b + "\n\n" + c
elif NumKids.get() == "4":
TextForReview = " " + a + "\n\n" + b + "\n\n" + c\
+ "\n\n" + d
elif NumKids.get() == "5":
TextForReview = " " + a + "\n\n" + b + "\n\n" + c\
+ "\n\n" + d + "\n\n" + e
else:
TextForReview = " " + a + "\n\n" + b + "\n\n" + c\
+ "\n\n" + d + "\n\n" + e + "\n\n" + f
here is where ChildFirstBox 4 is defined. The rest of the .get() in code above is defined the similiarly as code below.
def Child4():
global ChildFirstLabel4
global ChildFirstBox4
global ChildLastLabel4
global ChildLastBox4
global AgeLabel4
global AgeBox4
global ShirtsLabel4
global ShirtBox4
global PantsLabel4
global PantsBox4
global ShoeLabel4
global ShoeBox4
global GenLabel4
global GenBox4
global DOBLabel4
global DOBBox4
ChildFirstLabel4 = Label(AppWindow, text="f name")
ChildFirstLabel4.place(relx=0.6, rely=0.32)
ChildFirstBox4 = Entry(AppWindow, width=10)
ChildFirstBox4.insert(0, "")
ChildFirstBox4.place(relx=0.6, rely=0.36)
ChildLastLabel4 = Label(AppWindow, text="l name")
ChildLastLabel4.place(relx=0.68, rely=0.32)
ChildLastBox4 = Entry(AppWindow, width=10)
ChildLastBox4.insert(0, "")
ChildLastBox4.place(relx=0.68, rely=0.36)
AgeLabel4 = Label(AppWindow, text="Enter Child's Age")
AgeLabel4.place(relx=0.6, rely=0.4)
AgeBox4 = Entry(AppWindow, width=5)
AgeBox4.insert(0, "")
AgeBox4.place(relx=0.6, rely=0.44)
ShirtsLabel4 = Label(AppWindow, text="Shirt size")
ShirtsLabel4.place(relx=0.74, rely=0.32)
ShirtBox4 = Entry(AppWindow, width=10)
ShirtBox4.insert(0, "")
ShirtBox4.place(relx=0.74, rely=0.36)
PantsLabel4 = Label(AppWindow, text="Pant size")
PantsLabel4.place(relx=0.74, rely=0.4)
PantsBox4 = Entry(AppWindow, width=10)
PantsBox4.insert(0, "")
PantsBox4.place(relx=0.74, rely=0.44)
ShoeLabel4 = Label(AppWindow, text="Shoe Size")
ShoeLabel4.place(relx=0.80, rely=0.32)
ShoeBox4 = Entry(AppWindow, width=5)
ShoeBox4.insert(0, "")
ShoeBox4.place(relx=0.80, rely=0.36)
GenLabel4 = Label(AppWindow, text="Gender")
GenLabel4.place(relx=0.8, rely=.4)
GenBox4 = Entry(AppWindow, width=10)
GenBox4.insert(0, "")
GenBox4.place(relx=0.8, rely=0.44)
DOBLabel4 = Label(AppWindow, text="DOB")
DOBLabel4.place(relx=0.86, rely=0.32)
DOBBox4 = Entry(AppWindow, width=15)
DOBBox4.insert(0, "")
DOBBox4.place(relx=0.86, rely=0.36)