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 :

Instance de classes


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 30
    Points : 15
    Points
    15
    Par défaut Instance de classes
    Dans ma classe principale qui me crée un root Tk, j'ai une méthode qui fait appel à une autre classe About:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       def about(self):
          if ..........
             self.about_frame = about.About(self.parent)
    Voici le code de ma classe About:

    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
     
    from Tkinter import *
     
    class About:
       def __init__(self, boss):
          self.parent = boss
          self.about_top = Toplevel(self.parent)
          self.about_top.title("About AsTeX")
          self.about_top.resizable(width = NO, height = NO)
          txt = "Voila le about"
          self.msg = Message(self.about_top, text = txt, width = 300)
          self.msg.pack()
          self.exit = Button(self.about_top, text = "<== Back" ,command = self.about_top.destroy, relief = GROOVE)
          self.exit.pack(side = RIGHT)
     
       def run(self):
          self.about_top.mainloop()
    Je voulais savoir s'il était possible de tester si une instance de la classe About a été créée (à l'aide d'une méthode ou autre), de façon à n'afficher qu'une seule fois cette fenêtre même si on appuit plusieurs fois sur le bouton qui l'ouvre

    un autre truc, je voudrais que cette fenêtre soit placée directement au milieu de l'écran et que l'on ne puisse pas accéder à la fenêtre principale sans avoir fermé auparavant cette fenêtre, en clair qu'elle ait le focus indéfiniment jusqu'à ce qu'on la ferme

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Février 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 76
    Points : 103
    Points
    103
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    >>> isinstance(self.about_frame, about.About)
    True

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    bon j'ai édité mon code

    je n'arrive toujours pas meme avec isinstance car quand je le place dans le if il me met ke l'instance Application n'a pas d'attribut about_frame

    mais si je crée un attribut about_frame de classe About, je suis obligé de créé ces 2 fenetres au demarrage de Application

    un peu d'aide plz ...

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Février 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 76
    Points : 103
    Points
    103
    Par défaut
    Dans ta classe principale tu crée une variable self.about_frame, initialisée à None par exemple, dans le construteur __init__().

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    ok ca marche nickel thx naxelas :)

    Par contre j'aimerai bien donner le focus indéfiniment sur la fenetre about.
    Meme si on appuit sur la fenetre principale cela ne fait rien.
    Et aussi placer la fenetre about au milieu plz.
    Une petite idée ?

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Février 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 76
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par http://effbot.org/zone/tkinter-widget.htm
    winfo_screenwidth, winfo_screenheight

    winfo_screenwidth(), winfo_screenheight(). Return the width (height) of self's screen, in pixels.
    Ces méthodes récupères les dimensions de l'écran. Elles sont disponibles pour
    tous les types de fenêtre.
    En connaissant les dimensions de ta fenêtre tu sais calculer le centre de
    l'écran et en fonction de ça tu places le coin supérieur gauche au bon
    endroit (il doit y avoir une méthode pour ça, c'est dans la doc!).
    Et cherce bien dans http://effbot.org/zone/tkinter-index.htm

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    merci bien !
    en fait j'avais la meme page mais beaucoup moins complète qui date de 2002 .....

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    je n'ai pas trouvé la méthode qui permet de rester sur un Toplevel quand on appuit à coté de celui-ci
    quelqu'un sait?

  9. #9
    Candidat au Club
    Inscrit en
    Avril 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    tg kymzen

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    mumu ^^

Discussions similaires

  1. [débutant] vector et instances de class
    Par melvar dans le forum Langage
    Réponses: 4
    Dernier message: 11/02/2006, 23h49
  2. Suite Thread Simultanés: instances de classe differentes?
    Par macgile dans le forum Framework .NET
    Réponses: 3
    Dernier message: 04/01/2006, 09h50
  3. Exporter une instance de classe au format XML ou XMI
    Par Scorpion Rouge dans le forum Persistance des données
    Réponses: 2
    Dernier message: 22/12/2005, 11h19
  4. Réponses: 2
    Dernier message: 09/10/2005, 15h35
  5. Conditions de destruction des instances de classes
    Par elvivo dans le forum Général Python
    Réponses: 4
    Dernier message: 29/12/2004, 17h16

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