====== Interface graphique Tkinter ======
[[https://python.doctor/page-tkinter-interface-graphique-python-tutoriel|https://python.doctor/page-tkinter-interface-graphique-python-tutoriel]]
[[https://python.developpez.com/cours/TutoSwinnen/?page=Chapitre8|https://python.developpez.com/cours/TutoSwinnen/?page=Chapitre8]]
===== Exemples =====
==== Hello world ====
from tkinter import *
fenetre = Tk()
texte1 = Label(fenetre, text='Hello world', fg='red')
texte1.pack()
bouton1 = Button(fenetre, text='Quitter', command = fenetre.destroy)
bouton1.pack()
fenetre.mainloop()
{{:python:interface_graphique_tkinter:609b587a51454113e998da2bb815bd1f.png}}
==== Calculatrice ====
from tkinter import *
from math import *
# définition de l'action à effectuer si l'utilisateur actionne
# la touche "enter" alors qu'il édite le champ d'entrée :
x = 10
def evaluer(event):
chaine.configure(text = "Résultat = " + str(eval(entree.get())))
# ----- Programme principal : -----
fenetre = Tk()
entree = Entry(fenetre)
entree.bind("", evaluer)
chaine = Label(fenetre)
entree.pack()
chaine.pack()
fenetre.mainloop()
{{:python:interface_graphique_tkinter:1b5cc3a0407b8aa5171f808ed3d91bf1.png}}
===== Les classes de tkinter =====
|**//Widget// ** |
|Button|
|Canvas|
|Checkbutton|
|Entry|
|Frame|
|Label|
|Listbox|
|Menu|
|Menubutton|
|Message|
|Radiobutton|
|Scale|
|Scrollbar|
|Text|
|Toplevel|
==== Button ====
from tkinter import *
fenetre = Tk()
bouton1 = Button(fenetre, text='Quitter', command = fenetre.destroy)
bouton1.pack()
fenetre.mainloop()
{{:python:interface_graphique_tkinter:1851b60ce2895547f37ffc52390106d6.png}}
==== Canvas ====
from tkinter import *
fenetre = Tk()
canvas = Canvas(fenetre, width=150, height=120, background='yellow')
ligne1 = canvas.create_line(75, 0, 75, 120)
ligne2 = canvas.create_line(0, 60, 150, 60)
txt = canvas.create_text(75, 60, text="Cible", font="Arial 16 italic", fill="blue")
canvas.pack()
fenetre.mainloop()
{{:python:interface_graphique_tkinter:0a1138db124dd712b5f9c72c70892c3c.png}}
Autres éléments :
create_arc() : arc de cercle
create_bitmap() : bitmap
create_image() : image
create_line() : ligne
create_oval() : ovale
create_polygon() : polygone
create_rectangle() : rectangle
create_text() : texte
create_window() : fenetre
Pour changer les coordonnées d'un élément :
canvas.coords(élément, x0, y0, x1, y1)
Pour supprimer un élément :
canvas.delete(élément)
==== Checkbutton ====
from tkinter import *
fenetre = Tk()
bouton = Checkbutton(fenetre, text="Nouveau?")
bouton.pack()
fenetre.mainloop()
{{:python:interface_graphique_tkinter:c1aefef4966d648292f2f3f3c9d6de78.png}}
\\