py tjk win switch

By xxx, ago, written in Python.
URL http://pastecode.org/index.php/view/93160119
Download Paste or View RawExpand paste to full width of browser | Change Viewing Options
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. from Tkinter import *
  4. #from tkinter.messagebox import *
  5. from datetime import datetime
  6. import random
  7. WORDS = tuple({"Rouge": "Red",
  8.                "Vert": "Green",
  9.                "Bleu": "Blue",
  10.                "Jaune":"Yellow",
  11.                "Soleil": "Sun",
  12.                "Lundi": "Monday",
  13.                "Mardi": "Tuesday",
  14.                "Mercredi": "Wednesday",
  15.                "Jeudi": "Thursday",
  16.                "Vendredi": "Friday",
  17.                "Samedi": "Saturday",
  18.                "Dimanche": "Sunday",
  19.                "Demain": "Tomorrow",
  20.                "Hier": "Yesterday",
  21.                "Aujourd'hui": "Today",
  22.                "être": "Be",
  23.                "Avoir": "Have"}.items())
  24.  
  25. #fix pour lancer le programme:
  26. #-remplacer tkinter par tkinter
  27. #-Décommenter l'usage de messagebox non existant en tk py 2.7
  28. #-Laisser l'encoding en utf-8 ou spécifier un utilisé...
  29.  
  30.  
  31. #fix ouvrir et enregistrer un fichier regroupant l'état d'ouverture d'une fenêtre liée à une session afin de recouvrir celle-ci.
  32.  
  33. ALLFENS={"fra_ang":"close"}#le statut des fenetres au lancement ici évidement fermée
  34.  
  35. ALLSWITCHES=["fra_ang2"]#la volonté de ouvrir/fermer ou cacher/montrer
  36.  
  37. ALLFENUI={"fra_ang":""}#ici je stocke la variable référence de l'interface dans une variable globale, mieux vaut des classes...
  38.  
  39. def a_fen(fen,order="open"):
  40.   if ALLFENS[fen]=="close":
  41.     if fen in ALLSWITCHES:
  42.       ALLFENS[fen]="unhide"
  43.     else:
  44.       ALLFENS[fen]="open"
  45.     a_ui(fen)
  46.   elif ALLFENS[fen]=="open":
  47.     ALLFENS[fen]="close"
  48.     ALLFENUI[fen].destroy()
  49.   elif ALLFENS[fen]=="hide":# and order!="close":
  50.     ALLFENS[fen]="unhide"
  51.     ALLFENUI[fen].deiconify()
  52.   elif ALLFENS[fen]=="unhide":# and order!="open":
  53.     ALLFENS[fen]="hide"
  54.     ALLFENUI[fen].withdraw()
  55.  
  56. def a_ui(funct):
  57.    
  58.     toto= Toplevel() #Crée la fenêtre
  59.     toto.geometry("350x100+10+10")
  60.     toto.title("Les Couleurs, Les jours, Le Temps") # Donne un nom à la fenêtre
  61.  
  62.     toto.wtt =Label(toto) # Mot a traduire
  63.     toto.tw = Label(toto) # Traduction
  64.    
  65.     toto.saisie = Entry(toto)
  66.     toto.but = Button(toto, text="Valider")
  67.     toto.ess = Label(toto)
  68.    
  69.     toto.wtt.pack()
  70.     toto.tw.pack()
  71.     toto.saisie.pack()
  72.     toto.but.pack()
  73.     toto.ess.pack()
  74.    
  75.     ALLFENUI[funct]=toto
  76.     #print toto
  77.     print funct
  78.     print ALLFENUI[funct]
  79.     eval(funct+"('"+funct+"')")
  80.     toto.mainloop()
  81. def fra_ang(fen):
  82.   fen=str(fen)
  83.   print fen
  84.   word_to_translate, translated_word = random.choice(WORDS) # Choisi aléatoirement un tuple
  85.   ALLFENUI[fen].translated_word=translated_word
  86.   ALLFENUI[fen].wtt.configure(text=word_to_translate)
  87.   ALLFENUI[fen].tw.configure(text=translated_word)
  88.   #print ALLFENUI[fen]
  89.   ALLFENUI[fen].but["command"]=lambda :evaluer(fen)
  90.   print ALLFENUI[fen].but["command"]
  91.      
  92.      
  93.  
  94.   def evaluer(fen):
  95.       ess=ALLFENUI[fen].ess
  96.       saisie=ALLFENUI[fen].saisie
  97.       translated_word=ALLFENUI[fen].translated_word
  98.       if saisie.get().lower() == translated_word.lower():
  99.          
  100.  
  101.           ess.configure(text="Bonne Réponse")
  102.           fichier = open("statixs", "a")
  103.           date=datetime.now()
  104.           date_day=date.day
  105.           date_month=date.month
  106.           date_year=date.year
  107.           date_hour=date.hour
  108.           date_minute=date.minute
  109.           date_second=date.second
  110.           fichier.write(str(date_day)+"/"+str(date_month)+"/"+str(date.year)+"---" + str(date_hour)+":"+str(date_minute)+":"+str(date_second)+"   ")
  111.           fichier.write("Les Couleurs, Les jours, Le Temps \n")
  112.          
  113.           fichier.close()
  114.           #showinfo('Résultat','Bonne Réponse !')
  115.           fra_ang(fen)
  116.          
  117.          
  118.       else:
  119.          
  120.  
  121.           ess.configure(text="Mauvaise Réponse")
  122.           #showwarning('Résultat','Mot incorrect!!\nVeuillez recommencer !')
  123.           fra_ang(fen)
  124.  
  125.  
  126.    
  127.  
  128. fen_menu = Tk()
  129. fen_menu.resizable(width=False, height=False)
  130. fen_menu.title('Logiciel de révision anglais --- Menu Principal')
  131. text_0 = Button(fen_menu, text='1. Les Couleurs, Les jours, Le Temps',command=lambda : a_fen("fra_ang"))
  132. text_1 = Label(fen_menu, text='')
  133. text_2 = Label(fen_menu, text='2. Anglais vers Français')
  134. text_3 = Label(fen_menu, text='')
  135. text_4 = Label(fen_menu, text='3. Conjugaison du verbe être (Français vers Anglais)')
  136. text_5 = Label(fen_menu, text='')
  137. text_6 = Label(fen_menu, text='4. Conjugaison du Verbe  être (Anglais vers Français)')
  138. text_7 = Label(fen_menu, text='')
  139. text_8 = Label(fen_menu, text='5. Conjugaison du verbe avoir (Français vers Anglais)')
  140. text_9 = Label(fen_menu, text='')
  141. text_10 = Label(fen_menu, text='6. Conjugaison du verbe avoir (Français vers Anglais)')
  142. text_11 = Label(fen_menu, text='')
  143. text_12 = Label(fen_menu, text='7. Vocabulaire sur la nature')
  144. text_13 = Label(fen_menu, text='')
  145. text_14 = Label(fen_menu, text='8. Vocabulaire sur les soins')
  146. text_15 = Label(fen_menu, text='')
  147. text_16 = Label(fen_menu, text='9. Vocabulaire sur le climat')
  148. text_17= Label(fen_menu, text='')
  149. text_18 = Label(fen_menu, text='10. Vocabulaire sur la vie sauvage')
  150. text_0.pack()
  151. text_1.pack()
  152. text_2.pack()
  153. text_3.pack()
  154. text_4.pack()
  155. text_5.pack()
  156. text_6.pack()
  157. text_7.pack()
  158. text_8.pack()
  159. text_9.pack()
  160. text_10.pack()
  161. text_11.pack()
  162. text_12.pack()
  163. text_13.pack()
  164. text_14.pack()
  165. text_15.pack()
  166. text_16.pack()
  167. text_17.pack()
  168. text_18.pack()
  169. fen_menu.mainloop()

Here you can reply to the paste above

Make Private

   

Feeling clever? Set some advanced options.