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 :

variable de contrôle


Sujet :

Tkinter Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut variable de contrôle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var1 = StringVar
    var2 = StringVar
    var3 = StringVar
    est-il possible de tout écrire sur nue ligne afin de ne pas répéter le StringVar ?

    j'ai cherché en vain

    merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Salut:

    Citation Envoyé par aaristocat Voir le message
    est-il possible de tout écrire sur nue ligne afin de ne pas répéter le StringVar ?
    Il serait en encore mieux de définir une liste "vars" et de la remplir d'autant d'instances de StringVar souhaitées dans une boucle.

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

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    merci mais je ne vois pas du tout comment faire

    boucle for ?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Citation Envoyé par aaristocat Voir le message
    je ne vois pas du tout comment faire

    boucle for ?
    C'est la qu'il faut ouvrir son tuto. préféré aux chapitres qui parlent des listes et des boucles pour réviser un peu comment ajouter à une liste un StringVar à chaque itération.

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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    je vais de ce pas voir ça...

    j'ai cherché vars : ça donne un dictionnaire non?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Citation Envoyé par aaristocat Voir le message
    je vais de ce pas voir ça...

    j'ai cherché vars : ça donne un dictionnaire non?
    vars est le nom d'un builtins assez peu utilisé... mais si vous voulez nommer votre liste my_vars ou Vars, histoire de... çà ne change pas grand chose: une boucle qui remplit une liste avec des...

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

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    lst = []
    for item in range(1, 50):
        lst.append("var" + str(item))
    voilà ce que j'ai trouvé pour la création de la liste... et maintenant je bloque pour la suite...

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Citation Envoyé par aaristocat Voir le message
    là ce que j'ai trouvé pour la création de la liste... et maintenant je bloque pour la suite...
    Vous partez à créer une liste de StringVar et vous vous retrouvez à fabriquer une liste de str... Sûr que çà ne va pas le faire, mais si vous avez peur de faire turbiner vos neurones...

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

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    mon neurone a bossé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    lst = []
    for i in range(1, 50):
        lst.append(StringVar(value="var" + str(i)))
     
    Entry(main, texvariable=var1).pack()
    nouveau message d'erreur : var1 par reconnu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Entry(main, texvariable=var1).pack()
    NameError: name 'var1' is not defined

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Salut,


    Citation Envoyé par aaristocat Voir le message
    nouveau message d'erreur : var1 par reconnu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Entry(main, texvariable=var1).pack()
    NameError: name 'var1' is not defined
    Si on remplace var1, var2, .... par une liste, ces "variables" n'existent plus et les objets correspondant seront accessibles via lst[0], lst[1],....


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

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    merci

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    je reviens vers vous : quelle est la "meilleure" façon de procéder ?
    lst[0].get directement dans mes requêtes avec sqlite ou alors nv_var = lst[0].get

    merci

  13. #13
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Salut,

    Faites un exemple avec l'option 1 et un autre avec l'option 2 et regardez le code qui vous semble "meilleur" ou répondre au mieux à vos besoins.

    Personnellement, le composant base de données n'a aucune idée de l'interface qui sera utilisée. C'est plus facile à tester. Mais vous faites ce que vous voulez en fonction de vos propres critères.

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

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    [QUOTE=aaristocat;11490212]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    lst = []
    for i in range(1, 50):
        lst.append(StringVar(value="var" + str(i)))
     
    Entry(main, texvariable=var1).pack()
    Maintenant, je souhaite faire la même "chose avec IntVar.

    J'ai bien essayé de convertir StringVar en IntVar mais ça ne fonctionne pas

    merci de votre aide

  15. #15
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Citation Envoyé par aaristocat Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    lst = []
    for i in range(1, 50):
        lst.append(StringVar(value="var" + str(i)))
     
    Entry(main, texvariable=var1).pack()
    Je ne comprends pas trop l'intérêt de créer une liste de 50 StringVar... Et montrer ensuite la création d'une seule Entry avec un texvariable=var1 avec une variable (Python) var1 dont on ne sait d'où elle sort.

    Citation Envoyé par aaristocat Voir le message
    J'ai bien essayé de convertir StringVar en IntVar mais ça ne fonctionne pas
    Vous ne montrez pas ce que vous avez essayé... mais déjà si vous partez à vouloir "convertir" StringVar en IntVar, vous avez un soucis de compréhension.

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

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    J'ai un tableau qui présente des mesures effectuées avec une appareil d'entrainement

    j'ai donc :
    50 Entry crées avec une boucle : var1, var2, var3.... var50
    ma première question à laquelle vous avez répondu : comment faire les affectations var1 = StringVar, var2 = StringVar...... var50 = StringVar

    50 Entry crées avec une boucle : b_var1, b_var2, b-var3... b_var50 en IntVar
    idem qu'au dessus mais en IntVar donc comment procéder avec une boucle ?

    toutes ces données sont ensuite insérer dans une bdd sqlite

    j'espère avoir été assez clair

  17. #17
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Citation Envoyé par aaristocat Voir le message
    J'ai un tableau qui présente des mesures effectuées avec une appareil d'entrainement

    j'ai donc :
    50 Entry crées avec une boucle : var1, var2, var3.... var50 en StringVar
    50 Entry crées avec une boucle : b_var1, b_var2, b-var3... b_var50 en IntVar
    Bon, ben si tout fonctionne, marquez la discussion

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

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Bon, ben si tout fonctionne, marquez la discussion

    - W
    désolé je n'avais pas terminé mon message

  19. #19
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Citation Envoyé par aaristocat Voir le message
    désolé je n'avais pas terminé mon message
    La question serait donc "comment procéder avec une boucle ?"

    Si la structure de remplissage d'une liste avec une boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    L = []
    for _ in range(COUNT):
         L.append(...)
    ne vous est pas familière, ouvrir un tuto. et apprendre les bases est quelque chose que je ne peux pas faire pour vous.

    Si vous pensez avoir compris comment faire mais que vous avez un problème pour le coder, montrez déjà ce que vous avez essayé de faire.

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

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    lst = []
    for i in range(1, 51):
        lst.append(StringVar(value="var" + str(i)))
        Entry(main, texvariable=lst[i].grid(row=1, column=i)
     
    for j in range(1, 51):
        lst.append(IntVar(value="var" + str(j)))
        Entry(main, texvariable=lst[j].grid(row=2, column=j)
    problème lorsque je fais : lst[j].get

Discussions similaires

  1. Aide while variable de contrôle
    Par max64btz dans le forum C
    Réponses: 1
    Dernier message: 10/11/2019, 11h42
  2. Réponses: 2
    Dernier message: 22/05/2007, 16h18
  3. Réponses: 8
    Dernier message: 20/06/2006, 16h25
  4. Réponses: 9
    Dernier message: 15/03/2006, 10h46
  5. Formulaire continu et contrôles variables...
    Par guen dans le forum Access
    Réponses: 5
    Dernier message: 27/01/2006, 09h15

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