Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer un bouton avec Tkinter

    20 novembre 2019 à 9:50:12

    Bonjour j'ai un projet en ISN je dois créer un programme qui permet de coder ou décoder un message sous la forme d'un code de César et je voulais le rendre plus interactif en mettant des boutons permettant de choisir si je veut coder ou décoder un message. J'ai réussi a créer les boutons mais je ne sais pas comment faire pour que lors qu'on clique sur les boutons cela lance le programme de codage ou de décodage
    from tkinter import *
    clef = 97
    
    fenetre = Tk()
    label = Label(fenetre, text="Voulez-vous coder un message ou en décoder un?")
    label.pack()
    bouton=Button(fenetre, text="Coder", command=fenetre.quit).pack(side=LEFT, padx=50, pady=5)
    bouton2=Button(fenetre, text="Décoder", command=fenetre.quit).pack(side=RIGHT, padx=50, pady=5)
    
    fenetre.mainloop()
    
    
    message_a_c = input("Entrez votre message à coder")
    for car in message_a_c:
        car = ord(car) + clef
        car_code=chr(car)
        print(car_code)
    
    message_a_d = input("Entrez votre message à décoder")
    for car in message_a_d:
        car = ord(car) - clef
        car_code=chr(car)
        print(car_code)

    Voila se que j'ai réussi a faire et sa me donne sa:

    Merci par avance de votre aide ^_^

    • Partager sur Facebook
    • Partager sur Twitter
      20 novembre 2019 à 10:07:24

      Salut à toi ! 

      Actuellement lorsque tu cliques sur les boutons la fenêtre se ferme, cela est dû à ce que tu envois à l'attribut 'command' lorsque tu créés le bouton : ici tu as 

      command = fenetre.quit

      Il faudrait donc qu'à la place de ton fenetre.quit tu appel la fonction qui t'interresse ( codage ou décodage ).

      Tu peux te réfèrer au cours du site openclassrooms pour faire proprement ton IHM.

      https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/234859-creez-des-interfaces-graphiques-avec-tkinter

      Tu peux aussi aller voir les exemple si-dessous qui me paraissent plus simple à mettre en place : 

      http://fsincere.free.fr/isn/python/cours_python_tkinter.php

      EDIT : Pour info, lorsque tu utilises une interface graphique, elle se lance grâce à l'instruction mainloop(), et cette instruction lance une boucle infini durant tout le temps où ta fenêtre est ouverte. Donc une solution pour toi serait d'affecter une variable lorsque tu cliques sur un bouton pour garder le choix en mémoir, puis quand la fenêtre se ferme le reste de ton programe s'éxécute. 

      -
      Edité par Antoine R. 20 novembre 2019 à 10:40:09

      • Partager sur Facebook
      • Partager sur Twitter
        26 novembre 2019 à 18:49:56

        Merci beaucoup du coup j'ai réussi grâce a tes conseils, Mon programme fonctionne impeccable. Je vais pouvoir rendre mon projet. Encore merci et bonne soirée. ^_^
        • Partager sur Facebook
        • Partager sur Twitter

        Créer un bouton avec Tkinter

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown