Bonne syntaxe class python tkinter [Résolu]

Messages postés
3
Date d'inscription
mercredi 1 novembre 2000
Dernière intervention
4 avril 2012
- - Dernière réponse : Keyve
Messages postés
3
Date d'inscription
mercredi 1 novembre 2000
Dernière intervention
4 avril 2012
- 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

Meilleure réponse
Messages postés
18
Date d'inscription
samedi 4 juin 2005
Dernière intervention
29 mai 2013
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de MichelFJM
Messages postés
18
Date d'inscription
samedi 4 juin 2005
Dernière intervention
29 mai 2013
0
Merci
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
Messages postés
3
Date d'inscription
mercredi 1 novembre 2000
Dernière intervention
4 avril 2012
0
Merci
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
Messages postés
3
Date d'inscription
mercredi 1 novembre 2000
Dernière intervention
4 avril 2012
0
Merci
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.