Я пытаюсь запустить оператор If, и мой виджет прокрутки работает только с любыми другими 1,2,3,4,5. Этот номер вводится пользователем в графический интерфейс, который затем определяет, какие строки используются для переменной TextForReview. Я получаю сообщение об ошибке «NameError: имя 'ChildFirstBox4' не определено», но это все глобальные переменные. Я использую виджет прокрутки для очистки графического интерфейса, поэтому перед тем, как попробовать виджет, .place будет работать для всех переменных. Есть ли что-то, что я неправильно вызываю или порядок функций правильный?
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
здесь определяется ChildFirstBox 4. Остальная часть .get () в приведенном выше коде определяется аналогично приведенному ниже коду.
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)
@TheLizzard только что добавили!
Вы уверены, что Child4
называется?
@TheLizzard да, я уверен. Перед добавлением виджета прокрутки я просто поместил () метки и поля, и это сработало. Другое дело, если для NumKids набрано 6, я не получаю ошибок при запуске кода. он точно отображает текст без проблем.
Не могли бы вы показать нам определение
ChildFirstBox4
и функцию, которая его определяет?