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