2016-08-08 13 views
0

ich die Klasse Film haben wie folgt:Kivy: __init __() fehlt x erforderlich Positionsargumente

class Movie(Widget): 
    def __init__(self, title, image, time, description, trailer, fsk, threeD, **kwargs): 
     super(Movie, self).__init__(title, image, time, description, trailer, fsk, threeD, **kwargs) 
     title = StringProperty() 
     image = StringProperty() 
     time = StringProperty() 
     description = StringProperty() 
     trailer = StringProperty() 
     fsk = NumericProperty() 
     threeD = BooleanProperty() 

Wenn ich mein Skript Python-Interpreter sagt mir dies:

TypeError: __init__() missing 7 required positional arguments: 'title', 'image', 'time', 'description', 'trailer', 'fsk', and 'threeD' 

Was bin Ich mache falsch? Ich kämpfe schon einige Zeit damit.


ganzer Quellcode relevant zu dieser Ausgabe:

class Movie(Widget): 
    def __init__(self, title, image, time, description, trailer, fsk, threeD, **kwargs): 
     super(Movie, self).__init__(title, image, time, description, trailer, fsk, threeD, **kwargs) 
     title = StringProperty() 
     image = StringProperty() 
     time = StringProperty() 
     description = StringProperty() 
     trailer = StringProperty() 
     fsk = NumericProperty() 
     threeD = BooleanProperty() 

class MainView(Widget): 
    def __init__(self, **kwargs): 
     super(MainView, self).__init__(**kwargs) 
     movies = ListProperty() 
     # movies = self.getMovies() 
     # for movie in movies: 
     # self.add_widget(movie) 

    def getMovies(self, url="http://.../"): 
     html = lxml.html.parse(url) 
     titles = html.xpath("//h5") 
     times = html.xpath("//td[@class='pday ptoday']/span/a") 
     trailers = html.xpath("//a[@data-modal-trailer-url]/@data-modal-trailer-url") 
     fsks = html.xpath("//tr[@data-fsk]/@data-fsk") 
     movies = list() 
     # for i in range(0, len(titles)): 
     # movie = Movie(titles[i].text, "images[i]", times[i].text, "", "https:" + trailers[i][:-11], fsks[i], "no") 
     # movies.append(movie) 
     return movies 
+0

Liefern Sie Argumente zu Ihrem '__init__' Anruf? Du bist wahrscheinlich nicht. Stellen Sie sie bei der Initialisierung der Movie-Klasse zur Verfügung. –

+0

Ich erschaffe keine Objekte vom Typ Film, daher weiß ich nicht, warum der Python-Interpreter bereits kämpft, ohne zu wissen, was und wie viele Argumente ich übergeben werde. – CodeShark

+1

Nun, etwas versucht, Ihre 'Movie'-Klasse zu initialisieren, was führen Sie vor diesem Fehler im Interpreter aus? –

Antwort

-1

Ich habe herausgefunden, dass die kv-lang-Datei der Grund für dieses Objekt Initialisierung Fehler war. Also ich weiß nicht, wie ich es beheben kann, aber ich denke, das ist eine andere Frage, weil es darum geht, warum __init__ heißt

Verwandte Themen