Bonne syntaxe class python tkinter [Résolu]

Keyve 3 Messages postés mercredi 1 novembre 2000Date d'inscription 4 avril 2012 Dernière intervention - 4 avril 2012 à 13:33 - Dernière réponse : Keyve 3 Messages postés mercredi 1 novembre 2000Date d'inscription 4 avril 2012 Dernière intervention
- 4 avril 2012 à 16:04
Bonjour,

je voudrais savoir si le syntaxe de cette librairie python et correct ou non :
from Tkinter import *

class win(object):

    def __init__(self,name):
        self.mainWin = Tk()
        self.mainWin.title(name)

class winStd(win):
    
    def __init__(self,name):
        win.__init__(self,name)
        self.btExit Button(None, text 'Exit', command = self.mainWin.destroy )
        self.btExit.pack( fill X, side TOP, expand = 1 )

class winLaunch(winStd):

    def __init__(self,name,cmd):
        winStd.__init__(self,name)
        self.btLaunch Button(None, text 'Launch', command = cmd )
        self.btLaunch.pack( fill X, side TOP, expand = 1 )


Merci beaucoup.

Bye Keyve
Afficher la suite 

Votre réponse

4 réponses

MichelFJM 18 Messages postés samedi 4 juin 2005Date d'inscription 29 mai 2013 Dernière intervention - 4 avril 2012 à 15:56
+3
Utile
Oui, si une classe fille redéfinit la méthode __init__, celle de la classe mère n'est plus appelée automatiquement. Comme tu fais des choses spécifiques dans tes __init__, il n'y a rien d'anormal.
Comme je ne pratique pas trop les fenêtres et widgets, je ne peux pas dire si ces classes te seront utiles à l'avenir.

Fred
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de MichelFJM
MichelFJM 18 Messages postés samedi 4 juin 2005Date d'inscription 29 mai 2013 Dernière intervention - 4 avril 2012 à 15:10
0
Utile
Bonjour

Je n'ai rien vu d'anormal. Avec :
def c() : print 'command launched'

a=winLaunch('toto',c)

et eventuellement :
a.mainWin.mainloop()

ça marche. Quelle est exactement la question ?

Fred
Commenter la réponse de MichelFJM
Keyve 3 Messages postés mercredi 1 novembre 2000Date d'inscription 4 avril 2012 Dernière intervention - 4 avril 2012 à 15:28
0
Utile
En fait je voudrais me définir une librairie Python Tkinter avec des forme prédéfinie car la plus part des application que je vais avoir à développer ont presques toutes la même forme.

Comme je découvre la programmation objet avec python, je ne suis pas très sùr de m'y prendre correctement ou en tout cas intélligement !!!

Ma question porte principalement sur la mécanique du fonctionnement de l'héritage en python !!!

est-ce que je suis obligé de refaire appel à une class pour en hérité ?

exemple:
class win(object):

def __init__(self,name):
self.mainWin = Tk()
self.mainWin.title(name)

class winStd(win):

def __init__(self,name):
win.__init__(self,name)
self.btExit Button(None, text 'Exit', command = self.mainWin.destroy )
self.btExit.pack( fill X, side TOP, expand = 1 )

class winLaunch(winStd):

def __init__(self,name,cmd):
winStd.__init__(self,name)
self.btLaunch Button(None, text 'Launch', command = cmd )
self.btLaunch.pack( fill X, side TOP, expand = 1 )


j'ai mis en rouge la class, son héritage dans la class winStd et son rappel dans le def __init__.


Désolé si je suis brouillon mais je commence se boulôt et les forums de manière général ne sont pas ma tasse de thé !!

Merci

Bye Keyve
Commenter la réponse de Keyve
Keyve 3 Messages postés mercredi 1 novembre 2000Date d'inscription 4 avril 2012 Dernière intervention - 4 avril 2012 à 16:04
0
Utile
Merci pour ta réponse.

Bonne journée.


Bye Keyve
Commenter la réponse de Keyve

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.