Bonjour,
j'aimerais avoir un rectangle en instanciant la classe joueur (c'est pour faire un pong ensuite), mais j'ai NameError: name 'master' is not defined . Je pensais hériter des méthodes et des attributs en self de la classe parente dans ma classe joueur. Bref, ce n'est plus très clair pour moi.
Il y a quelqu'un temps, wiztricks, pour un autre problème, m'a proposé une amélioration de code utilisant : super().__init__(bg='light yellow',height=500,width=500). Qu'apporte super() ? J'ai du mal à l'utiliser et à comprendre (internet indique que c'est surtout pour de l'héritage multiple). l'emploi de super() doit il être privilégié? ou est ce que je peux m'en passer pour des cas simples ? Quelle est la meilleurs pratique ?
Dans le tuto oscillo de Swinnen, l'auteur fait une classe en héritant de Canvas également.
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 from tkinter import * class Application(Canvas): def __init__(self, master, lar, hau): Canvas.__init__(self) self.configure(width=lar, height=hau, bg="black") self.lar, self.hau = lar, hau self.create_line(self.lar/2,0,self.lar/2,self.hau+2,fill="white",width = 5) class Joueur(Application): def __init__(self): Application.__init__(self, master, lar, hau) joueur = self.create_rectangle(10,self.lar/2,10,self.lar/2+20,fill="white",width = 5) root = Tk() launch = Application(root, 600, 300) launch.pack() joueur_1 = Joueur() root.mainloop()
Partager