Получение ошибки и не уверен, как получить запись формы tkinter для передачи классу AddEmployeeManually - PullRequest
0 голосов
/ 19 сентября 2019

Я получаю сообщение об ошибке:

строка 31, кнопка on_button
employee.mainloop ()
AttributeError: у объекта AddEmployeeManually нет атрибута mainloop

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

from tkinter import *
from tkinter import ttk

class EmployeeForm():
    def __init__(self):
        window = Tk()
        window.title("Employees Management Form")
        window.geometry('600x600')
        window.configure(background="white");
        #labels for the Entries
        lblName = Label(window, text="Name").grid(row=0, column=0)
        lblId = Label(window, text="Id").grid(row=1, column=0)
        lblPhone = Label(window, text="Phone Number").grid(row=2, column=0)
        lblAge = Label(window, text="Age").grid(row=3, column=0)
        #Entries
        self.name = ttk.Entry(window).grid(row=0, column=1)
        self.id = ttk.Entry(window).grid(row=1, column=1)
        self.phone = ttk.Entry(window).grid(row=2, column=1)
        self.age = ttk.Entry(window).grid(row=3, column=1)
        self.button = ttk.Button(self, text="Submit", command=self.on_button()).grid(row=4, column=1)
        self.button.pack()
        self.name.pack()
        self.id.pack()
        self.phone.pack()
        self.id.pack()
    #when Submit is press the data is sent to Add Empl manually class
    def on_button(self):
        employee = AddEmployeeManually(self.name, self.id, self.phone, self.phone)
        employee.setData()
        employee.mainloop()

class AddEmployeeManually():
    def __init__(self, name, id, age, phone):
        self.name = name
        self.phone = phone
        self.age = age
        self.id = id
    def setData(self):
        employees = open('Employees.txt', 'a')
        try:
            employees.write(self.id)
            employees.write(self.name)
            employees.write(self.phone)
            employees.write(self.age)
            employees.write('\n')
        except:
            print('Error!')

def main():
    choice = int(input("Please type: 1 to Add Employee Manually, 2 to Add from file and 3 to Delete Employee: \n"))
    if choice == 1:
        chosen = EmployeeForm()
    elif choice == 2:
        print("File import needs to be build!")
    elif choice == 3:
        print("Delete class needs to be build!")
    else:
        print ("Not correct choice!")
if __name__ == "__main__":
    main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...