2016-12-17 3 views
-3
class phonebook: 
    def __init__(self,first_name, last_name, street, postcode, city, number): 

     root = tk.Tk() 
     root.title('Book') 

     menubar = tk.Menu(root) 
     root.config(menu = menubar) 
     menubar.add_command(label = 'Anlegen', command = self.create) 
     menubar.add_command(label = 'Bearbeiten', command = self.change) 
     menubar.add_command(label = 'Löschen') 
     menubar.add_command(label = 'Sortieren') 
     menubar.add_command(label = 'Suche') 
     menubar.add_command(label = 'Hilfe') 

     root.mainloop() 

    def printing(self): 
     account = (self.first_name.get(), self.last_name.get(), self.street.get(), self.postcode.get(), self.city.get(), self.number.get()) 
     accounts.append(account) 
     for i in accounts: 
      print(i) 
    def change(self): 
     account = accounts[0] 
     account.first_name = 'test' 
     self.printing 

    def create(self): 

     creation = tk.Toplevel() 

     tk.Label(creation, text = 'Vorname').grid(row = 1, column = 0) 
     tk.Label(creation, text = 'Nachname').grid(row = 2, column = 0) 
     tk.Label(creation, text = 'Stadt').grid(row = 3, column = 0) 
     tk.Label(creation, text = 'Postleitzahl').grid(row = 4, column = 0) 
     tk.Label(creation, text = 'Straße').grid(row = 5, column = 0) 
     tk.Label(creation, text = 'Telefonnummer').grid(row = 6, column = 0) 


     self.first_name = tk.Entry(creation) 
     self.last_name = tk.Entry(creation) 
     self.city = tk.Entry(creation) 
     self.postcode = tk.Entry(creation) 
     self.street = tk.Entry(creation) 
     self.number = tk.Entry(creation) 

     a = tk.Button(creation, text = 'end', command = self.printing) 

     self.first_name.grid(row = 1, column = 1) 
     self.last_name.grid(row = 2, column = 1) 
     self.city.grid(row = 3, column = 1) 
     self.postcode.grid(row = 4, column = 1) 
     self.street.grid(row = 5, column = 1) 
     self.number.grid(row = 6, column = 1) 
     a.grid(row = 7, column = 1) 

phonebook() 

내 코드에서 볼 수 있듯이 개체를 만들고 편집하려고합니다. 문제는 실제 개체를 만들 수 없다는 것입니다.개체 만들기가 작동하지 않습니다.

TypeError: __init__() missing 6 required positional arguments: 'first_name', 'last_name', 'street', 'postcode', 'city', and 'number'

내가 그래서이 오류를 얻을하지 않습니다 그래서 내가 개체를 편집 할 수 있습니다 그렇게해야합니까 : 나는 클래스 phonebook와 객체를 생성 할 때, 나는이 오류가?

+2

당신은'phonebook()'...에 대한 호출을 가지고 있습니다. 당신이 볼 수있는 것처럼, 그 호출은' __init__'은 6 개의 인수를 기대합니다. 그래서 깨집니다. 멋진 사용자 이름 – mwm314

답변

0

phonebook은 0이 아닌 6 개의 인수로 호출해야합니다. phonebook()을 호출하면 코드가 손상됩니다. 다음과 같이 전화 해보십시오.

phonebook("first_name", "last_name", "street", "post_code", "your_city", 123) 

내가 제공 한 값 대신 적절한 값으로 대체하십시오.

P.

관련 문제