Как получить значения из многих переменных одновременно?(Tkinter) - PullRequest
0 голосов
/ 13 апреля 2019

Я не получаю значения от многих переменных (ПОЧЕМУ ?!), но когда я использую тот же метод, он получает значение от него (ПРИМЕЧАНИЕ: «но когда я использую тот же метод, он получает значение от него» "-> ИСПОЛЬЗОВАНИЕ ОДНОГО ПЕРЕМЕННОГО ДАЕТ МНЕ ЗНАЧЕНИЕ).

Я пытался изменить положение функции, сначала она была над кнопкой, теперь она прямо над кодом.

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 как :::::

Это потому, что он не получает значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...