Autre widget très utile : "Entry".

"Entry" propose un champ qui permettra à l'utilisateur de saisir du texte

Le constructeur d'Entry peut prendre de nombreux paramètres, mais nous n'en verrons qu'un seul ici : la fenêtre qui va contenir le widget "Entry".

À faire vous-même 3.1

Saisissez, analysez et testez ce programme


#!/usr/bin/env python
# -*- coding: utf-8 -*-
from tkinter import *
def affichage():
    monTexte.set("Bonjour "+champ.get()+", j'espère que vous allez bien")
    champ.delete(0,END)
fen=Tk()
monTexte=StringVar()
monTexte.set("Faisons connaissance")
#mise en place du label 1
texteLabel1=Label(fen, text = "Entrez votre prénom :")
texteLabel1.pack()
#mise en place du widget Entry
champ=Entry(fen)
champ.pack()
#mise en place du label 2 (variable : monTexte)
texteLabel2 = Label(fen, textvariable = monTexte)
texteLabel2.pack()
#mise en place du bouton
btn=Button(fen, text="Valider", command=affichage)
btn.pack()
#mainloop
fen.mainloop()
			

Quelques précisions sur le programme du "À faire vous-même 3.1".

Nous définissons une instance de la classe Entry que nous appelons "champ". "champ.get()" retourne la chaine de caractères qui a été saisie par l'utilisateur. "champ.delete(0,END)" permet d'effacer la zone de saisie.

Autre widget qui peut se révéler utile, le bouton radio (classe : Radiobutton).

À faire vous-même 3.2

Saisissez, analysez et testez ce programme


#!/usr/bin/env python
# -*- coding: utf-8 -*-
from tkinter import *
def affichage():
    if val.get()=="O":
        monTexte.set("Vous avez dit oui.")
    elif val.get()=="N":
        monTexte.set("Vous avez dit non.")
    else :
        monTexte.set("Vous n'arrivez pas à vous décider !")
fen=Tk()
#bouton radio
val=StringVar()
boutO=Radiobutton(fen, text="Oui", variable=val, value="O")
boutO.pack()
boutN=Radiobutton(fen, text="Non", variable=val, value="N")
boutN.pack()
#texte label
monTexte=StringVar()
texteLabel = Label(fen, textvariable = monTexte)
texteLabel.pack()
#bouton validation
btn=Button(fen, text="Valider", command=affichage)
btn.pack()
fen.mainloop()
			

Dans le "À faire vous-même 3.2", nous créons 2 boutons radio (boutO et boutN). Le constructeur du bouton radio prend les paramètres suivants :

"val.get()"" retourne la valeur définie au moment de la création du radio bouton (paramètre "value") si le bouton a été sélectionné.

À faire vous-même 3.3

Écrivez un programme qui demandera à l'utilisateur son prénom (à l'aide d'un widget "Entry") et son genre (masculin ou féminin, à l'aide de deux boutons radio)

Le programme devra, en fonction des réponses de l'utilisateur, afficher les phrases suivantes :