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 :

problème de setting


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Points : 5
    Points
    5
    Par défaut problème de setting
    Bonjour, j'ai le code suivant:
    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
    def transitioncombattre():
        globals()["fenetretransition"]=Tk()
     
        globals()["lignes"]=StringVar()
        globals()["colonnes"]=StringVar()
        lignes.set("3")
        colonnes.set("3")
        globals()["transitionliste"]=[]
        transitionliste.append(Button(fenetretransition,text="map existante",command=recupmap))
        transitionliste.append(Label(fenetretransition,text="créer map"))
        transitionliste.append(Label(fenetretransition,text="nb de colonnes"))
     
        transitionliste.append(Entry(fenetretransition,textvariable=colonnes))
        transitionliste.append(Label(fenetretransition,text="nb de lignes"))
        transitionliste.append(Entry(fenetretransition,textvariable=lignes))
        transitionliste.append(Button(fenetretransition,text="valider la création",command=combattre))
        transitionliste[0].grid(row=1,column=1)
        transitionliste[1].grid(row=1,column=2)
        transitionliste[2].grid(row=2,column=2)
        transitionliste[3].grid(row=3,column=2)
        transitionliste[4].grid(row=2,column=3)
        transitionliste[5].grid(row=3,column=3)
        transitionliste[6].grid(row=4,column=2)
        fenetretransition.mainloop()
        return
    ce qui est interressant dans cette fonction est les Entry, les globals variables lignes et colonnes et le boutton valider la création, le reste importe peu!

    voici la fct combattre, ou du moins ce qui est utile:
    def combattre():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    n,p=int(lignes.get()),int(colonnes.get())
    j'ai entré dans ma fenetre 5 et 5, donc n,p=5,5 normalement.
    Le problème c'est que ça reste bloqué sur les valeurs qui ont été set : 3,3.
    De plus, les Entry devraient afficher 3,3 en valeurs par défaut et j'ai juste un blanc.
    De l'aide serait pas de refus^^

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    SAlut,

    Citation Envoyé par Simploïd Voir le message
    ce qui est interressant dans cette fonction est les Entry, les globals variables lignes et colonnes et le boutton valider la création, le reste importe peu!
    Ce qui est intéressant, c'est de voir comment vous contournez le mot clef "global". Ca montre que pour vous, tant que çà le fait, le reste n'a pas grande importance.

    Citation Envoyé par Simploïd Voir le message
    Le problème c'est que ça reste bloqué sur les valeurs qui ont été set : 3,3.
    De plus, les Entry devraient afficher 3,3 en valeurs par défaut et j'ai juste un blanc.
    De l'aide serait pas de refus^^
    Eh ben oui, apprendre la différence entre Tk(), Toplevel() et Frame()... et à utiliser le plus approprié dans le contexte plutôt qu'écrire des lignes qui semblent fonctionner mais qui ne le font pas...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse wiztricks mais je ne comprends pas vraiment:
    J'utilise tkinter alors que c'est du hors programme, j'ai donc appris à la va vite et je ne connais pas les différences.
    C'est quoi ce contournement global dont tu parle?
    De plus, Tk() je pensais que c'était la base pour créer une fenêtre et Frame se créait à l'intérieur, je n'ai pas creusé plus que ça.
    Ce Toplevel(), j'en ai jamais entendu parler.

    Pourrais tu éclairer ma lanterne?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Citation Envoyé par Simploïd Voir le message
    Ce Toplevel(), j'en ai jamais entendu parler.
    Ah c'est sûr qu'on ne va pas en parler aux 20heures à la télé

    Citation Envoyé par Simploïd Voir le message
    J'utilise tkinter alors que c'est du hors programme, j'ai donc appris à la va vite et je ne connais pas les différences.
    Ben il faut ouvrir une documentation, puis essayer de remplacer Tk() par Toplevel().

    Citation Envoyé par Simploïd Voir le message
    C'est quoi ce contournement global dont tu parle?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    globals()["fenetretransition"]=Tk()
    s'écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    global fenetretransition
    fenetretransition=Tk()
    Et si vous utilisez des fonctionnalités avancées plutôt que les bases que vous devriez avoir appris, vous devez savoir pourquoi ("çà marche" n'étant pas une bonne raison) et ses implications.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Ok merci pour la documentation, je regarderai
    le globals() que j'utilise, c'est justement parce que la fenêtre que je crée est dans une fonction et que mon prof d'info m'a dit de placer tous mes global au début de mon programme, au final j'utilise global fenetrecombat mais au début. Sachant que j'utilise plusieurs fois la fonction, il m'a dit de trouver une autre solution d'où l'idée de ce globals()

    En soi, normalement on n'a jamais touché à tkinter, c'est juste moi qui souhaite créer une interface pour jouer avec des amis et du coup, les bases, je les ai apprises à peu près sur le net.

    du coup, l'idée du toplevel va me résoudre le problème de base, c'est-à-dire le setting?

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Citation Envoyé par Simploïd Voir le message
    Sachant que j'utilise plusieurs fois la fonction, il m'a dit de trouver une autre solution d'où l'idée de ce globals()
    Certes mais c'est juste la même chose, donc il va falloir trouver autre chose!!!

    Citation Envoyé par Simploïd Voir le message
    du coup, l'idée du toplevel va me résoudre le problème de base, c'est-à-dire le setting?
    Et oui, et ce n'est pas magique.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    ok merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [E-03] Problème avec Set de worksheet
    Par drakkar_agfa dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 11/12/2008, 21h44
  2. [E-00] problème avec set
    Par anyah dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/11/2008, 14h07
  3. fatal error RC1015 , problème de setting
    Par totem dans le forum Visual C++
    Réponses: 1
    Dernier message: 26/07/2007, 18h02
  4. Eventuel Problème De Setting
    Par Goupo dans le forum Langage
    Réponses: 2
    Dernier message: 09/06/2007, 23h38
  5. [MySQL] problème mysql_query('SET NAMES 'UTF8'')
    Par saidkh dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/03/2007, 21h48

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