Vous êtes sur la page 1sur 9

CRMEF OUJDA Année 2020 / 2021

Filière Informatiques
Y. Derfoufi Formateur au
CRMEF OUJDA
YouTube : https:/www.youtube.com/user/InformatiquesFacile

TP GUI Tkinter Python

Exercice1
En utilisant le système de gestion des widgets Tkinter Grid Layout, écrire un programme en Python Tkinter qui
affiche la vue suivante:

Exercice 2
Améliorer l'affichage de la boite de dialogue de l'exercice précédent (Exercice1) en ajoutant les paramètres width,
padx et pady aux boutons:

Exercice3
Reprendre l'exercice précédent (Exercice1) en utilisant la méthode place():
Exercice4
Ecrire un programme en python Tkinter qui affiche à l'utilisateur une fenêtre affichant un bouton 'fermer la fenêtre
!' permettant de fermer la fenêtre au click par deux méthodes différentes : l'une en donnant
une action au bouton de commande et l'autre en intégrant directement l'action quit sur l'objet Button:

Exercice 5
Ecrire un programme en python Tkinter qui affiche à l'utilisateur une fenêtre affichant un bouton de commande qui
affiche au click un message "Hello World !" sur un label.

Exercice 6
Reprendre l'exercice précédent (Exercice 5) en utilisant la méthode StringVar() et le paramètre textvaraible associé
au label.

Exercice 7
Ecrire un programme en python Tkinter qui affiche à l'utilisateur une fenêtre qui demande à l'utilisateur de saisir son
nom et de lui afficher un message de bienvenue:
Exercice 8
Reprendre l'exercice précédent (Exercice 7) sans utiliser le bouton de commande. Utiliser simplement l'évènement
bind action qui s'exécute en appuyant sur la touche Entré du clavier :

Exercice 9
À l'aide de la bibliothèque Tkinter Python, écrire un programme Python qui affiche une boîte de dialogue demandant à
l'utilisateur de saisir un entier N et de lui renvoyer son double 2*N en appuyant sur la touche Entrée du clavier :

Exercice 10
Ecrire un programme en Python qui affiche une fenêtre Tkinter demandant à l'utilisateur de saisir un entier N et lui
retourne tous les diviseurs de N comme le montre la figure ci-dessous :
Exercice 11
Ecrire un programme en Python Tkinter qui affiche à l'utilisateur une fenêtre Tkinter contenant un widget spinbox
permettant de modifier les dimensions de la fenêtre (augmenter ou diminuer les dimensions de 25 pixels):

Exercice 12
Ecrire un programme en Python Tkinter permettant d'afficher une fenêtre Tkinter qui change de couleur d'arrière-
plan au survole de la souris :

Exercice 13
En utilisant la méthode prédéfinie gcd en Python, créer un programme qui permet de calculer le plus grand
diviseur commun et le plus petit multiple commun à deux entiers comme le montre la figure ci -dessous:
Exercice 14
Reprendre l'exercice précédent (Exercice 13) sans utiliser la fonction gcd ni aucune autre fonction prédéfinie en
Python.

Exercice 15
Ecrire un programme en Python Tkinter qui permet d'afficher la table de multiplication d'un entier sélectionné via
une liste combobox tkinter comme le montre la figure ci-dessous:

Exercice 16
1. Ecrire un script python permettant de créer une base de donnée SQLite nommée mydatabase.
2. Ecrire un script permettant de créer au sein de la base de donnée mydatabase, une table SQLite nommée
students ayant comme attributs : id, name, email, age

Exercice 17
Sous les mêmes hypothèses que l’exercice précédent, écrire un script permettant d’afficher sur une fenêtre tkinter,
un formulaire d’insertion de données dans la table students
Exercice 18
Sous les mêmes hypothèses que l’exercice précédent, écrire un script permettant d’afficher sur une fenêtre tkinter,
un formulaire d’insertion de données dans la table students et d’imprimer les données de la table students à
l’écran :

ID : 1
name : ADAM
Email : adam@gmail.com
Age : 26
---------------------------
ID : 2
name : Elisa
Email : elisa@gmail.com
Age : 22
---------------------------
ID : 3
name : Majid
Email : majid@gmail.com
Age : 27

Exercice 19
Sous les mêmes hypothèses que l’exercice précédent, écrire un script permettant d’afficher sur une fenêtre tkinter,
un formulaire d’insertion de données dans la table students et d’afficher les résultats sur un objet tkinter treeview
comme le montre la figure ci-dessous :

Exercice 20
Reprendre l’exercice précédent en adoptant le modèle view controller MVC
Exercice 21
Ecrire un programme en Python Tkinter qui affiche à l’utilisateur une fenêtre Tkinter ayant un bouton Browse Photo
permettant au click de rechercher la photo sur la machine locale via l’explorateur filedialog et d’insérer la photo dans
un label comme l’indique la ficure ci-dessous:

Projet 1: Création d’un mini logiciel de traduction en Python


Googletrans est une bibliothèque python Compatible avec Python 3.6+ gratuite et illimitée implémentant l'API
Google Translate. Elle utilise l'API Google Translate Ajax pour communiquer avec les méthodes de détection et de
traduction d'un texte. Pour plus de détails, reportez-vous à la documentation officielle de l'API Google
Translate: https://py-googletrans.readthedocs.io/en/latest/

INSTALLATION DE GOOGLETRANS

L'installation du module googletrans peut être réalisé d'une façon assez rapide et simple via l'utilitaire pip:
pip install google_trans_new
Pour traduire un texte avec googletrans d'une langue à une autre, on utilise la méthode translate() de l'objet
Translator tout en indiquant la langue source et la langue de destination:
Exemple
#coding: utf-8

from google_trans_new import google_translator

texte = "J'apprends à coder en Python"

# Création d'un objet translator

trans = google_translator()

# traduction du texte du français à l'anglais

translated = trans.translate(texte, lang_src = 'fr', lang_tgt = 'en')

print(translated) # affiche: I learn to code in Python


APPLICATION : CREATION D'UN MINI-LOGICIEL DE TRADUCTION

On vous demande maintenant d’appliquer vos acquis en Python & Tkinter pour créer un système de traduction
graphique basé sur la bibliothèque tkinter et ses widgets:

1. liste combobox pour sélectionner la langue d'entrée et la langue de sorite


2. widget texte pour créer les champs de saisie
3. widget label pour créer les étiquettes...

Projet 2: Création d’un logiciel de traduction en Python & Tkinter


Python est doté d’un module nommé verbecc qui permet de conjuguer les verbes à tous les modes et à tous les
temps… Le module verbecc s’installe rapidement via l’utilitaire pip :
pip install verbecc

Pour conjuguer un verbe à temps donné, on doit suivre les étapes :

1. Importation du module verbecc


2. Création d’ un objet cg = Conjugator(lang = fr)
3. Choisir un verbe et temps ex : verbe = ‘apprendre’ et temps = ‘présent’
4. Application de la méthode conjugation = cg.conjugate(verbe)

Exemple

# coding: utf-8
from verbecc import Conjugator

# créer un objet Conjugator tout en choisissant la langue 'fr' par exemple


cg = Conjugator(lang = 'fr')

# choisir un verbe et un temps


verbe = 'apprendre'
temps = 'présent'

# la méthode conjugate donne la conjugaison à tous les temps et à tous les modes sous forme d'un dictionnaire
conjugation = cg.conjugate(verbe)

# obtenir la conjugaison du verbe sous forme d'une liste au mode indicatif et au temps choisi
conj = conjugation['moods']['indicatif'][temps]

# affichage du résultat
result = ""
for element in conj:
result = result + element + '\n'
print(result)

Ce qui affiche à l’exécution :

j'apprends
tu apprends
il apprend
nous apprenons
vous apprenez
ils apprennent

APPLICATION : CREATION D’UN LOGICIEL DE CONJUGAISON EN


PYTHON
On vous demande maintenant d’appliquer vos acquis en Python & Tkinter pour créer un logiciel de
conjugaison graphique basé sur la bibliothèque tkinter et ses widgets:

Vous aimerez peut-être aussi