Я не получаю значения от многих переменных (ПОЧЕМУ ?!), но когда я использую тот же метод, он получает значение от него (ПРИМЕЧАНИЕ: «но когда я использую тот же метод, он получает значение от него» "-> ИСПОЛЬЗОВАНИЕ ОДНОГО ПЕРЕМЕННОГО ДАЕТ МНЕ ЗНАЧЕНИЕ).
Я пытался изменить положение функции, сначала она была над кнопкой, теперь она прямо над кодом.
def addStudent():
def SubmitBtnFunc():
stuname = NameOfNewStudent.get()
sroll = RollNumberOfNewStudent.get()
sclass = ClassNameOfNewStudent.get()
ssection = SectionOfNewStudent.get()
sphone = PhoneNumberOfNewStudent.get()
snumber = GrNumberOfNewStudent.get()
File = open("info.txt", "a+")
File.write("\n" + stuname + ":")
File.write(sroll + ":")
File.write(sclass + ":")
File.write(ssection + ":")
File.write(sphone + ":")
File.write(snumber)
File.close()
root2 = Tk()
root2.title("New Student")
root2.geometry("350x350")
NameOfNewStudent = StringVar()
RollNumberOfNewStudent = StringVar()
ClassNameOfNewStudent = StringVar()
SectionOfNewStudent = StringVar()
PhoneNumberOfNewStudent = StringVar()
GrNumberOfNewStudent = StringVar()
lbl1 = Label(root2, text="Enter Student's Name: ")
lbl1.grid(column=0, row=2, pady=10, padx=7)
NewStudentName = ttk.Entry(root2, textvariable=NameOfNewStudent)
NewStudentName.grid(column=1, row=2, pady=13)
lbl2 = Label(root2, text="Enter Student's roll number: ")
lbl2.grid(column=0, row=3, padx=7)
rollNumber = ttk.Entry(root2, textvariable=RollNumberOfNewStudent)
rollNumber.grid(column=1, row=3)
lbl3 = Label(root2, text="Enter Student's class: ")
lbl3.grid(column=0, row=4, padx=7)
className = ttk.Combobox(root2, values=["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII"], textvariable=ClassNameOfNewStudent)
className.current(8)
className.grid(column=1, row=4, pady=10)
lbl4 = Label(root2, text="Section: ")
lbl4.grid(column=0, row=5, padx=7, pady=3)
Section = ttk.Combobox(root2, values=["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"], textvariable=SectionOfNewStudent)
Section.grid(column=1, row=5, pady=10)
Section.current(0)
lbl5 = Label(root2, text="Phone Number: ", textvariable=PhoneNumberOfNewStudent)
lbl5.grid(column=0, row=6, padx=7, pady=3)
StudentNumber = ttk.Entry(root2)
StudentNumber.grid(column=1, row=6, pady=10)
lbl6 = Label(root2, text="Gr. Number: ")
lbl6.grid(column=0, row=7, padx=7, pady=10)
StudentGrNumber = ttk.Entry(root2, textvariable=GrNumberOfNewStudent)
StudentGrNumber.grid(column=1, row=7, pady=10)
SubmitBtn = ttk.Button(root2, text="Submit", command=SubmitBtnFunc)
SubmitBtn.grid(column=1, row=8, pady=5)
root2.mainloop()
Я ожидаю, что вывод будет сохранен в файле info.txt как, например, для
zaid: 36: IX-E: #### Number ####: ## Регистрационный номер ####
НО
Я получаю результат в файле info.txt как :::::
Это потому, что он не получает значения.