Partage
  • Partager sur Facebook
  • Partager sur Twitter

python, mon script bloc mon ordinateur

Bug 2000 :)

    28 mars 2006 à 16:52:28

    Salut !

    voila, j'ai fais un petit truc en python :

    from Tkinter import *
    import md5, sha

    bg_f = 'grey40'
    bt_bg = 'grey40'

    def hash():
        str1 = md5.new(str.get())
        str2 = sha.new(str.get())
       
        Label(x, text='MD5 '+str.get()+' = '+str1.hexdigest(), bg=bt_bg).grid(column=2)
        Label(x, text='SHA '+str.get()+' = '+str2.hexdigest(), bg=bt_bg).grid(column=2)
        Label(x, bg=bt_bg).pack()
       
    x = Tk()
    x.title('Hash sha and md5')
    x.configure(background=bg_f)



    Label(x, text='Chaine a hasher', bg=bt_bg).grid(row=1)

    str = Entry(x, bg='WHITE')
    str.grid(row=2)

    Button(x, text='HASH !', relief=RIDGE, bg=bt_bg, command=hash).grid(row=3)
    Button(x, text='Quitter', relief=RIDGE, bg=bt_bg, command=x.quit).grid(row=4)

    x.mainloop()


    Mais quand je le lance et que je clic sur hasher !, sa me fait bugger mon ordi et je suis obliger de redemarrer par la force :)

    D'ou vien le probleme ?

    Merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      28 mars 2006 à 17:26:59

      Voilà le test que j'ai fait sur mon ordi, ça marche.
      A toi de prendre ce qui t'interesse dand ce bout de code :p

      # -*- coding: Latin-1 -*-
      from Tkinter import *
      import md5, sha, sys

      bg_f = 'grey40'
      bt_bg = 'grey40'

      def Hash():
          str1 = md5.new(str.get())
          str2 = sha.new(str.get())
          #sha1Ent.config(state='normal')
          #md5Ent.config(state='normal')
          DelVals()
          md5Ent.insert(END, 'MD5 ' + str.get() + ' = ' + str1.hexdigest())
          sha1Ent.insert(END, 'SHA ' + str.get() + ' = ' + str2.hexdigest())
          #sha1Ent.config(state='disabled')
          #md5Ent.config(state='disabled')
      def Out():
          x.quit()
          x.destroy
          sys.exit()
      def DelVals():
          for entries in [md5Ent, sha1Ent]:
              while entries.get() != '':
                  entries.delete(0)
      x = Tk()
      x.title('Hash sha and md5')
      x.configure(background=bg_f)

      md5Ent = Entry(x, bg=bt_bg)#, state='disabled')
      md5Ent.grid(row=0)
      sha1Ent = Entry(x, bg=bt_bg)#, state='disabled')
      sha1Ent.grid(row=1)

      Label(x, text='Chaine a hasher : ', bg=bt_bg).grid(row=2)

      str = Entry(x, bg='WHITE')
      str.grid(row=3)

      Button(x, text='HASH !', bg=bt_bg, command=Hash).grid(row=4)
      Button(x, text='Quitter', bg=bt_bg, command=Out).grid(row=5)

      #Tk.Button(x, text='HASH !', relief=RIDGE, bg=bt_bg, command=Hash).grid(row=3)
      #Tk.Button(x, text='Quitter', relief=RIDGE, bg=bt_bg, command=Out).grid(row=4)

      x.mainloop()





      Bisous, Nyu
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        28 mars 2006 à 20:43:11

        Le problème vient du fait que tu mélanges grid et pack pour placer tes widgets :)

        De plus, tu devrais éviter de nommer ta fonction "hash" : c'est déjà une fonction prédéfinie de Python

        Mais regarde ça : http://dashuhn.free.fr/widgetsTheo7.png

        Ta fonction crée à chaque fois de nouveaux widgets. C'est pas bien, car plus on clique, plus la fenêtre s'agrandit de la sorte :p

        • Partager sur Facebook
        • Partager sur Twitter

        python, mon script bloc mon ordinateur

        × 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