Python : Tkinter
Python : Tkinter
cf : http://apprendre-python.com/page-tkinter-interface-graphique-python-tutoriel
Script 1 Un script qui met en oeuvre la plupart des commandes vues dans le tuto. Le résultat est très bizarre, mais l'important c'est que ça fonctionne :D
<span style="color:#cc7832">from </span>tkinter <span style="color:#cc7832">import </span>* <span style="color:#cc7832">from </span>tkinter.messagebox <span style="color:#cc7832">import </span>* <span style="color:#cc7832">from </span>tkinter.filedialog <span style="color:#cc7832">import </span>* <span style="color:#808080"># -*- coding: latin-9 -*- </span> fenetre = Tk() fenetre[<span style="color:#6a8759">'bg'</span>]=<span style="color:#6a8759">'white' </span> <span style="color:#808080"># frames </span> Frame1 = Frame(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">borderwidth </span>= <span style="color:#6897bb">2</span><span style="color:#cc7832">, </span><span style="color:#aa4926">relief </span>= GROOVE) Frame1.pack(<span style="color:#aa4926">side</span>=LEFT<span style="color:#cc7832">, </span><span style="color:#aa4926">padx</span>=<span style="color:#6897bb">10</span><span style="color:#cc7832">, </span><span style="color:#aa4926">pady</span>=<span style="color:#6897bb">30</span>) Frame2 = Frame(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">borderwidth </span>= <span style="color:#6897bb">2</span><span style="color:#cc7832">, </span><span style="color:#aa4926">relief </span>= GROOVE) Frame2.pack(<span style="color:#aa4926">side</span>=RIGHT<span style="color:#cc7832">, </span><span style="color:#aa4926">padx</span>=<span style="color:#6897bb">10</span><span style="color:#cc7832">, </span><span style="color:#aa4926">pady</span>=<span style="color:#6897bb">30</span>) Frame3 = Frame(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">borderwidth </span>= <span style="color:#6897bb">2</span><span style="color:#cc7832">, </span><span style="color:#aa4926">relief </span>= GROOVE) Frame3.pack(<span style="color:#aa4926">side </span>= BOTTOM<span style="color:#cc7832">, </span><span style="color:#aa4926">padx</span>=<span style="color:#6897bb">10</span><span style="color:#cc7832">, </span><span style="color:#aa4926">pady </span>= <span style="color:#6897bb">30</span>) <span style="color:#808080">#ajout d'un bouton </span> bouton = Checkbutton(Frame1<span style="color:#cc7832">, </span><span style="color:#aa4926">text</span>=<span style="color:#6a8759">"Cocher si vous êtes heureux."</span>) bouton.pack() <span style="color:#808080">#Ajout d'une liste </span> liste=Listbox(Frame2) liste.insert(<span style="color:#6897bb">1</span><span style="color:#cc7832">, </span><span style="color:#6a8759">"Bière"</span>) liste.insert(<span style="color:#6897bb">2</span><span style="color:#cc7832">, </span><span style="color:#6a8759">"Jus d'orange"</span>) liste.insert(<span style="color:#6897bb">3</span><span style="color:#cc7832">, </span><span style="color:#6a8759">"Lait"</span>) liste.pack() <span style="color:#808080">#Ajout d'un canevas </span> canevas = Canvas(Frame3<span style="color:#cc7832">, </span><span style="color:#aa4926">width </span>= <span style="color:#6897bb">150</span><span style="color:#cc7832">, </span><span style="color:#aa4926">height </span>= <span style="color:#6897bb">120</span><span style="color:#cc7832">, </span><span style="color:#aa4926">background</span>=<span style="color:#6a8759">"pink"</span>) cercle = canevas.create_oval(<span style="color:#6897bb">50</span><span style="color:#cc7832">, </span><span style="color:#6897bb">100</span><span style="color:#cc7832">, </span><span style="color:#6897bb">150</span><span style="color:#cc7832">, </span><span style="color:#6897bb">50</span>) canevas.pack(<span style="color:#aa4926">side</span>=LEFT) <span style="color:#808080">#Ajout de labelframe </span> Labelframe = LabelFrame(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">text</span>=<span style="color:#6a8759">"Quel est ton pourcentage de bonheur?"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">padx</span>=<span style="color:#6897bb">20</span><span style="color:#cc7832">, </span><span style="color:#aa4926">pady</span>=<span style="color:#6897bb">20</span>) Labelframe.pack(<span style="color:#aa4926">fill</span>=<span style="color:#6a8759">"both"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">expand</span>=<span style="color:#6a8759">"yes"</span>) <span style="color:#808080">#Ajout d'une spinbox </span>s = Spinbox(Labelframe<span style="color:#cc7832">, </span><span style="color:#aa4926">text</span>=<span style="color:#6a8759">"A combien tu est mon amie?"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">from_</span>=<span style="color:#6897bb">0</span><span style="color:#cc7832">, </span><span style="color:#aa4926">to_</span>=<span style="color:#6897bb">100</span>) s.pack() <span style="color:#808080">#Ajout d'une alerte sur un bouton </span> <span style="color:#cc7832">def </span><span style="color:#ffc66d">bouh</span>(): <span style="color:#cc7832">if </span>askyesno(<span style="color:#6a8759">"Attention"</span><span style="color:#cc7832">, </span><span style="color:#6a8759">"Cliquez ici"</span>): showwarning(<span style="color:#6a8759">"BOUH!"</span>) <span style="color:#cc7832">else</span>: showinfo(<span style="color:#6a8759">"Allez..."</span><span style="color:#cc7832">, </span><span style="color:#6a8759">"Allez, clique!"</span>) bouton2 = Button(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">text</span>=<span style="color:#6a8759">"Clique Ici"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">command</span>=bouh) bouton2.pack() <span style="color:#808080">#Ajout d'une barre de menu </span> <span style="color:#cc7832">def </span><span style="color:#ffc66d">alert</span>(): showinfo(<span style="color:#6a8759">"OUAF"</span><span style="color:#cc7832">, </span><span style="color:#6a8759">"OUAF"</span>) <span style="color:#cc7832">def </span><span style="color:#ffc66d">miaou</span>(): showinfo(<span style="color:#6a8759">"MIAOU"</span><span style="color:#cc7832">, </span><span style="color:#6a8759">"MIAOU"</span>) <span style="color:#cc7832">def </span><span style="color:#ffc66d">ouvreImage</span>(): <span style="color:#808080"># récupération et affichage d'image </span> <span style="color:#808080"> </span>filepath = askopenfilename(<span style="color:#aa4926">title</span>=<span style="color:#6a8759">"Ouvrir une image PNG"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">filetypes</span>=[(<span style="color:#6a8759">'png files'</span><span style="color:#cc7832">, </span><span style="color:#6a8759">'.png'</span>)<span style="color:#cc7832">, </span>(<span style="color:#6a8759">'all files'</span><span style="color:#cc7832">, </span><span style="color:#6a8759">'.*'</span>)]) photo2 = PhotoImage(<span style="color:#aa4926">file</span>=filepath) canvas3 = Canvas(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">width</span>=photo2.width()<span style="color:#cc7832">, </span><span style="color:#aa4926">height</span>=photo2.height()) canvas3.create_image(<span style="color:#6897bb">0</span><span style="color:#cc7832">, </span><span style="color:#6897bb">0</span><span style="color:#cc7832">, </span><span style="color:#aa4926">anchor</span>=NW<span style="color:#cc7832">, </span><span style="color:#aa4926">image</span>=photo2) canvas3.pack() <span style="color:#cc7832">def </span><span style="color:#ffc66d">ouvreTexte</span>(): <span style="color:#808080"># Récupération et affichage de txt </span><span style="color:#808080"> </span>filename = askopenfilename(<span style="color:#aa4926">title</span>=<span style="color:#6a8759">"Ouvrir votre document"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">filetypes</span>=[(<span style="color:#6a8759">'txt files'</span><span style="color:#cc7832">, </span><span style="color:#6a8759">'.txt'</span>)<span style="color:#cc7832">, </span>(<span style="color:#6a8759">'all files'</span><span style="color:#cc7832">, </span><span style="color:#6a8759">'.*'</span>)]) fichier = <span style="color:#8888c6">open</span>(filename<span style="color:#cc7832">, </span><span style="color:#6a8759">"r"</span>) content = fichier.read() fichier.close() Label(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">text</span>=content).pack(<span style="color:#aa4926">padx</span>=<span style="color:#6897bb">10</span><span style="color:#cc7832">, </span><span style="color:#aa4926">pady</span>=<span style="color:#6897bb">10</span>) menubar = Menu(fenetre) menu1 = Menu(menubar<span style="color:#cc7832">, </span><span style="color:#aa4926">tearoff</span>=<span style="color:#6897bb">0</span>) menu1.add_command(<span style="color:#aa4926">label</span>=<span style="color:#6a8759">"Chien"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">command</span>=alert) menu1.add_separator() menu1.add_command(<span style="color:#aa4926">label</span>=<span style="color:#6a8759">"Quitter"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">command</span>=fenetre.quit) menubar.add_cascade(<span style="color:#aa4926">label</span>=<span style="color:#6a8759">"Canidé"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">menu</span>=menu1) menu2 = Menu(menubar<span style="color:#cc7832">, </span><span style="color:#aa4926">tearoff</span>=<span style="color:#6897bb">0</span>) menu2.add_command(<span style="color:#aa4926">label</span>=<span style="color:#6a8759">"Chat"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">command</span>=miaou) menubar.add_cascade(<span style="color:#aa4926">label</span>=<span style="color:#6a8759">"Félidés"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">menu</span>=menu2) menu3 = Menu(menubar<span style="color:#cc7832">, </span><span style="color:#aa4926">tearoff</span>=<span style="color:#6897bb">0</span>) menu3.add_command(<span style="color:#aa4926">label</span>=<span style="color:#6a8759">"Ouvrir un txt"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">command </span>= ouvreTexte) menubar.add_cascade(<span style="color:#aa4926">label</span>=<span style="color:#6a8759">"Ouvrir des fichiers"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">menu</span>=menu3) fenetre.config(<span style="color:#aa4926">menu</span>=menubar) <span style="color:#808080">#Ajout d'un bouton qui change le curseur </span> Button(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">text</span>=<span style="color:#6a8759">"croix"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">relief</span>=RAISED<span style="color:#cc7832">, </span><span style="color:#aa4926">cursor</span>=<span style="color:#6a8759">"pirate"</span>).pack(<span style="color:#aa4926">side</span>=LEFT) <span style="color:#808080">#Ajout d'une image </span>photo = PhotoImage(<span style="color:#aa4926">file</span>=<span style="color:#6a8759">"squirrel.png"</span>) canvas = Canvas(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">width </span>= <span style="color:#6897bb">350</span><span style="color:#cc7832">, </span><span style="color:#aa4926">height </span>= <span style="color:#6897bb">400</span>) canvas.create_image(<span style="color:#6897bb">0</span><span style="color:#cc7832">, </span><span style="color:#6897bb">0</span><span style="color:#cc7832">, </span><span style="color:#aa4926">anchor</span>=NW<span style="color:#cc7832">, </span><span style="color:#aa4926">image</span>=photo) canvas.pack() <span style="color:#808080">#Récupération d'input </span><span style="color:#cc7832">def </span><span style="color:#ffc66d">recup</span>(): showinfo(<span style="color:#6a8759">"Alerte"</span><span style="color:#cc7832">, </span>entree.get()) value = StringVar() value.set(<span style="color:#6a8759">"Valeur"</span>) entree = Entry(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">textvariable</span>=value<span style="color:#cc7832">, </span><span style="color:#aa4926">width</span>=<span style="color:#6897bb">30</span>) bouton3 = Button(fenetre<span style="color:#cc7832">, </span><span style="color:#aa4926">text</span>=<span style="color:#6a8759">"Valider"</span><span style="color:#cc7832">, </span><span style="color:#aa4926">command</span>=recup) bouton3.pack() fenetre.mainloop()
Le fichier squirrel.png qui va avec: [[Media:Squirrel.png|Media:Squirrel.png]]