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".
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).
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é.
É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 :