IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

appel d'une classe d'un autre fichier.


Sujet :

Tkinter Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Points : 465
    Points
    465
    Par défaut appel d'une classe d'un autre fichier.
    Bonjour à tous.

    j'espere que vous allez pouvoir m'aider. Petite précision je suis newbie en python.

    Je vous explique un peu ma situation.Je veux stocker dans un fichier py des fonction et classes qui pourront être utilisé depuis d'autres script python. Je veux regrouper toutes mes fonctions et classes afin de les utiliser dans un autre programme python.

    Je suis en train de creer une classe qui me permets à l'utilisateur de se logguer (avec des bouton et des textbox).Cette classe s'appelle CLogin

    Cette classe pourra me servir pour des futurs scripts. Comment puis je rendre cette classe réutilisable et appelable (je sais c'est pas trés beau) depuis un autre fichier?

    Voici le début de code de ma classe :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    class Clogin(LFrame):
    	def __init__(self,master=None):
    		LFrame.__init__(self,master)
    		self.pack()
    		self.Login_IHM()
     
    	def Login_IHM(self):
    		self.ErrorLab=Label()
    		self.ErrorLab.grid(row=1,column=3)
    		self.ErrorLab["fg"]   = "red"
     
     
    		self.QuitBut = Button()
    		self.QuitBut["text"] = "QUIT"
    		self.QuitBut["fg"]   = "red"
    		self.QuitBut["command"] =  quit
    		self.QuitBut.grid(row=5, column=5)
     
    		self.LoginBut = Button()
    		self.LoginBut["text"] = "Valider"
    		self.LoginBut["fg"]   = "black"
    		self.LoginBut["command"] =  Login
    		self.LoginBut.grid(row=3, column=5)
     
    		self.LoginLab=Label()
    		self.LoginLab["text"]="Login"
    		self.LoginLab.grid(row=2,column=1)
    		self.LoginVal=StringVar()
    		self.LoginText=Entry(text="Login", textvariable=LoginVal,width="5")
    		self.LoginText.grid(row=2,column=2)
     
    		self.PwdLab=Label()
    		self.PwdLab["text"]="Mot de Passe"
    		self.PwdLab.grid(row=3,column=1)
    		self.PwdVal=StringVar()
    		self.PwdText=Entry(text="Pwd", textvariable=PwdVal,width="5")
    		self.PwdText.grid(row=3,column=2)


    J'ai donc un fichier base.py qui contient deja des fonctions et le début de ma classe de "Login". J'ai essayé de faire un
    et ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    root=Tk()
    LoginFrame=Clogin()
    LoginFrame.mainloop()
    root.destroy()

    Mais il me dit
    LFrame is not defined
    .

    Pourriez-vous me donner quelques pistes de réfléxion? Est ce une bonne utilisation du langage?
    La connaissance s'accroit lorsqu'on la partage.

  2. #2
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Tu dois ajouter le nom du module.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    # Fichier foo.py
    def foo():
      print 'foo'
     
     
    # Fichier bar.py
    import foo
     
    foo.foo()

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Points : 465
    Points
    465
    Par défaut
    merci pour ta super réponse rapide.

    Je teste ça dès que possible.
    La connaissance s'accroit lorsqu'on la partage.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Points : 465
    Points
    465
    Par défaut
    je suis déolé c'est toujours pareil.
    Lframe is not defined
    .

    Apparement, ça plante quand je fais le
    La connaissance s'accroit lorsqu'on la partage.

  5. #5
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Tu l'as définie où la classe LFrame ? parce que ce n'est pas un objet de Tkinter il me semble. Peut-être voulait hériter de LabelFrame ?

  6. #6
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    si tu a defini une fonction dans ton aute fichier et que tu fais

    alors pour appeller cette fonction il faudra faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monfichier.mafonction()
    pour appeller avec juste

    il faut faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from monfichier import mafonction
    ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from monfichier import *
    (a utiliser avec modération)


  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    meme reponse que anthime.

    je l'utilise dans un super projet et ca marche

  8. #8
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Citation Envoyé par lamiaa94 Voir le message
    meme reponse que anthime.

    je l'utilise dans un super projet et ca marche
    Anthyme

    Prié de ne pas écorcher mon prénom

Discussions similaires

  1. appel d'une fonction dans un autre fichier
    Par funboard dans le forum Langage
    Réponses: 2
    Dernier message: 08/02/2008, 09h26
  2. appel d'une sub d'un autre fichier xls (avec sorties)
    Par hector2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/08/2007, 11h28
  3. [POO] appel d'une méthode d'un autre fichier, le tout objet
    Par aaaaaaaa dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/07/2007, 18h43
  4. appel d'une variable d'un autre fichier
    Par jmbonnaz dans le forum MATLAB
    Réponses: 1
    Dernier message: 18/04/2007, 11h08
  5. Utilisation d'une classe dans un autre fichier
    Par melotron dans le forum Général Python
    Réponses: 1
    Dernier message: 09/07/2006, 13h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo