Tkinter

Tkinter (de l'anglais Tool kit interface) est la bibliothèque graphique libre d'origine pour le langage Python, permettant la création d'interfaces graphiques. Elle vient d'une adaptation de la bibliothèque graphique Tk écrite pour Tcl.

Tkinter

Hello World en Python et Tkinter.
Informations
Développé par John Ousterhout
Écrit en Python
Type Bibliothèque logicielle
Bibliothèque logicielle Python (d)
Licence Licence BSD
Site web wiki.python.org/moin/TkInter

Exemple

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# on commence toujours par importer le module tkinter
# ici on lui donne le surnom (alias) de tk

from tkinter import Tk, Label

# il suffit alors de déclarer l'objet Tk() qui deviendra la fenêtre principale

fenetre = Tk()

# on crée ensuite un objet Label() rattaché à fenetre pour afficher du texte non éditable
# on profite du constructeur de l'objet pour définir un texte "Hello World" dans la foulée (on peut faire autrement)

texte = Label ( fenetre, text="Hello World" )

# l'objet Label() nommé texte est ensuite rendu visible dans fenetre grâce à pack()

texte.pack()

# pour finir, on lance la boucle programme

fenetre.mainloop()

Liste des widgets Tkinter

Voici une liste des widgets utilisable dans Tkinter[1](pour python 3, car dans python 2, il faut importer le module "Tkinter", et non pas "tkinter")
Nom Code
Frame
from tkinter import *
app=Tk()
frame=Frame(app)
frame.pack()
app.mainloop()
Bouton
from tkinter import *
app=Tk()
Bouton=Button(app,text="Bouton")
Bouton.pack()
app.mainloop()
Entrée de texte
from tkinter import *
app=Tk()
Entree_de_texte=Entry(app,width=50)
Entree_de_texte.pack()
app.mainloop()
Zone de texte
from tkinter import*
app=Tk()
Zone_de_texte=Text(app,width=50,height=50)
Zone_de_texte.pack()
app.mainloop()
Bouton de sélection
from tkinter import*
app=Tk()
Bouton_de_selection=Checkbutton(app)
Bouton_de_selection.pack()
app.mainloop()
Bouton radio
from tkinter import*
app=Tk()
Bouton_radio= Radiobutton(app,text="Bouton radio")
Bouton_radio.pack()
app.mainloop()
Label
from tkinter import*
app=Tk()
label=Label(app)
label.pack()
app.mainloop()
Menu
from tkinter import*
app=Tk()
menu= Menu(app)
#Pour ajouter une commande :
def Sauvegarder():
    pass
menu.add_command(label="Sauvegarder",command=Sauvegarder)
app.config(menu=menu)
app.mainloop()
Boite de sélection (utilise ttk)
from tkinter import*
from tkinter import ttk
app=Tk()
Options=['Homme','Femme','Enfant']
Boite_de_selection=ttk.Combobox(app,values=Options)
Boite_de_selection.pack()
app.mainloop()
Liste
from tkinter import*
app=Tk()
liste=Listbox(app)
#Pour ajouter un élément :
liste.insert(1,"Emmental")
liste.pack()
app.mainloop()
Bouton de menu
from tkinter import*
app=Tk()
Bouton_de_menu=Menubutton(app)
#Pour ajouter un élément :
Var1=IntVar()
Menu1=Menu(Bouton_de_menu, tearoff=0)
Menu1.add_checkbutton(label="Pizza",variable=Var1)
Bouton_de_menu['menu']=Menu1
Bouton_de_menu.pack()
app.mainloop()
Canvas
from tkinter import*
app=Tk()
canvas=Canvas(app,width=500,height=250)
canvas.pack()
app.mainloop()
Scale
from tkinter import*
app=Tk()
scale=Scale(app,from_=0,to=50)
scale.pack()
app.mainloop()
Barre de défilement
from tkinter import *
app = Tk() 
Barre_de_defilement = Scrollbar(app) 
Barre_de_defilement.pack(side = RIGHT, fill = Y) 
Liste = Listbox(app, yscrollcommand = Barre_de_defilement.set )  
for ligne in range(1, 100): 
    Liste.insert(END, "Number " + str(ligne)) 
Liste.pack(side = LEFT, fill = BOTH )    
Barre_de_defilement.config(command = Liste.yview) 
app.mainloop()
Bouton avec commande
from tkinter import *
app = Tk()
def commande():
    print("commande du bouton")
bouton_avec_commmande = Button(app, text="Bouton avec commande", command = commande) # ne mettez pas de parenthèses après le nom d'une commande sur un widget tkinter, car sinon, python exécute la fonction dès que le widget est créé.
bouton_avec_commmande.pack()
app.mainloop()

Voir aussi

Articles connexes

Notes et références

  1. (en-US) « List of Tkinter Widgets - with examples », sur CodersLegacy (consulté le )

Lien externe

  • Portail des logiciels libres
  • Portail de la programmation informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.