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

Python Discussion :

Afficher les éléments d'une liste dans une fenetre tkinter


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Afficher les éléments d'une liste dans une fenetre tkinter
    Bonjour à tous,

    Je suis sur un projet qui consiste à créer un code de la route. Il doit être une réplique de l'examen typique. j'ai créé une première fenêtre laissant le choix à l'utilisateur de faire une série de questions (contenues dans une liste) dans l'ordre de cette liste ou alors de faire ces mêmes questions dans un ordre aléatoire. Tout cela fonctionne parfaitement dans la console. Cependant, j'ai de gros soucis à afficher l'image correspondant à une question d'indice i ainsi que ses propositions de réponses; toujours d'indice i.
    je cherche donc à afficher sur ma fenetre ces trois éléments.
    Je travaille avec IEP, je suis sur OS X.

    merci de votre réponse.

    PS: ce sont des questions sans images pour l'instant, je choisirai les images correspondantes.

    Voici mon code:

    CodePartieAnatole.py

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Montrer ce que tu as tenté de faire en Tkinter pour l'affichage aurait plus été plus intéressant que de poster la version console... (et pour insérer du code sur le forum, il y a la balise [CODE], le bouton # de l'éditeur).

    Sinon, tu peux tout à fait passer faire quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label = Label(fenetre1, text=liste_questions[i])
    dans ta fonction qui crée une fenêtre, ce qui devrait t'aider
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par supersnail Voir le message
    Bonjour,

    Montrer ce que tu as tenté de faire en Tkinter pour l'affichage aurait plus été plus intéressant que de poster la version console... (et pour insérer du code sur le forum, il y a la balise [CODE], le bouton # de l'éditeur).

    Sinon, tu peux tout à fait passer faire quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label = Label(fenetre1, text=liste_questions[i])
    dans ta fonction qui crée une fenêtre, ce qui devrait t'aider
    Bonjour,

    He bien j'ai mis tout le code pour qu'il n'y est pas de difficultés à comprendre ce que je cherche à faire, pour que ce soit plus clair quoi

    Sinon, j'ai déjà essayé ce code que tu m'as donné, ca marche, merci!
    J'ai du mal à passer de la question 1 à la question deux, tu sais quel commande il faut assigner à mon bouton pour faire cette action?

    merci!!

  4. #4
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    La méthode "crade" serait de détruire la fenêtre et en recréer une autre...

    Mais heureusement il y a plus propre, qui nécessite cependant de passer par un StringVar, que tu peux ensuite mettre à jour, ce qui modifiera le label, comme expliqué ici
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par supersnail Voir le message
    Bonjour,

    La méthode "crade" serait de détruire la fenêtre et en recréer une autre...

    Mais heureusement il y a plus propre, qui nécessite cependant de passer par un StringVar, que tu peux ensuite mettre à jour, ce qui modifiera le label, comme expliqué ici
    Bonjour,

    J'ai essayé d'utiliser les commandes que tu m'as donné mais je n'arrive pas à faire fonctionner mon code correctement pour autant peux tu m'indiquer comment les utiliser de la bonne manière? En faisant à ma façon (igniarde), j'arrive uniquement à afficher la première question, rien de plus...

    (lignes 41 et 87)

    voici mon code:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
     
     
    import random
    from Tkinter import*
     
    #liste_image=["image1.png"\"image2.png",\"image3.png",\"image4.png",\"image5.png"]
     
    liste_questions=["Question 1: Dans cette situation, puis-je dépasser?\n",\
    "Question 2: ai-je le droit de m'arrêter sur le bas côté?\n",\
    "Question 3: Quelle est la limite maximale en ville?\n" ,\
    "Question 4: Suis-je prioritaire?\n" ,\
    "Question 5: Dans cette situation, que faire?\n"]
     
    liste_choix=["1) Oui 2)Non \n",\
    "1) Oui 2) Non \n",\
    "1)30 kmh 2)50kmh 3)70kmh 4)pas de limite \n",\
    "1) Oui 2) non \n",\
    "1) Je m'arrête 2) j'accelere 3) je ralentit en serrant à droite 4) je continue dans ma lancée\n"]
     
    liste_reponse=[1,2,2,1,1]
     
    liste_QuestionPose=[0,0,0,0,0]
     
     
    def FenetreAleatoire():
        fenetre1 = Tk()
        label = Label(fenetre1, text="voici votre série bonne chance !")
        label.pack()
     
     
     
     
        n=0
        compteur = 0
        R=0
        i=0
        for n in range(5):
            while liste_QuestionPose[i] == 1:
                i = random.randint(0, 4)
            if liste_QuestionPose[i] == 0:
                label1 = Label(fenetre1, text=liste_questions[i])
                label1.pack()
                label1 = Label(fenetre1, text=liste_choix[i])
                label1.pack()
                print(label1)
                label1.pack()
                print(label2)
                label2.pack()
                liste_QuestionPose[i] = 1
                R=int(input("Choisissez la bonne réponse:"))
                if R == liste_reponse[i]:
                    compteur = compteur+1
        print("Note:")		
     
        if compteur == 5 :
            print("5/5 C'est très bien.")
     
        if compteur == 4 :
            print("4/5 C'est bien. ")
     
        if compteur == 3 :
            print("3/5 tu n'aurais pas eu ton code")
     
        if compteur == 2 :
            print("2/5 tu n'aurais pas eu ton code")
     
        if compteur == 1 :
            print("1/5 tu n'aurais pas eu ton code.")
     
        if compteur == 0 :
            print("0/5 tu n'aurais pas eu ton code.")
     
     
     
     
    def FenetreNormal():
        fenetre2 = Tk()
        label = Label(fenetre2, text="voici votre série bonne chance !")
        label.pack()
     
     
        n=0
        compteur = 0
        R=0
        for i in range(5):
            label3 = Label(fenetre2, text=liste_questions[i])
            label3.pack()
            label4 = Label(fenetre2, text=liste_choix[i])
            label4.pack()
            R=int(input("Choisissez la bonne réponse:"))
            if R == liste_reponse[i]:
                compteur = compteur+1
            print(compteur)
     
        #note et commentaire :		
        print("Note:")		
     
        if compteur == 5 :
            print("5/5 C'est très bien.")
     
        if compteur == 4 :
            print("4/5 C'est bien. ")
     
        if compteur == 3 :
            print("3/5 tu n'aurais pas eu ton code")
     
        if compteur == 2 :
            print("2/5 tu n'aurais pas eu ton code")
     
        if compteur == 1 :
            print("1/5 tu n'aurais pas eu ton code.")
     
        if compteur == 0 :
            print("0/5 tu n'aurais pas eu ton code.")
     
     
     
     
     
     
    fenetre = Tk()
    texte1 = Label(fenetre, text='Bonjour tout le monde !', fg='black')
    texte1.pack()
    bou1 = Button(fenetre, text='Questions aléatoires', command=FenetreAleatoire)
    bou1.pack()
    bou2 = Button(fenetre, text='exercice classique', command=FenetreNormal)
    bou2.pack()
    bou3 = Button(fenetre, text='quitter', command = fenetre.destroy)
    bou3.pack()
    fenetre.mainloop()

Discussions similaires

  1. [SP-2010] récupérer les terme d'une colonne d'une liste dans une autre liste
    Par Noruk dans le forum SharePoint
    Réponses: 2
    Dernier message: 09/02/2015, 18h15
  2. Afficher les éléments d'un tableau dans une ArrayList
    Par AmeniESC dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 23/03/2012, 12h52
  3. Afficher les tables de la db dans une liste déroulante
    Par voxov dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/12/2010, 11h13
  4. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 14h51
  5. Appel d'une liste dans une liste (JSTL)
    Par abalgue dans le forum Hibernate
    Réponses: 4
    Dernier message: 15/06/2007, 10h56

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