0% ont trouvé ce document utile (0 vote)
22 vues6 pages

Formulaire étudiant avec Python Tkinter

Le document décrit un exercice de programmation en Python utilisant la bibliothèque tkinter pour créer un formulaire d'inscription d'étudiants. Ce formulaire permet de saisir le matricule, le prénom et le nom d'un étudiant, ainsi que d'ajouter ces informations à une base de données SQLite. Des fonctionnalités telles que l'ajout d'étudiants, la réinitialisation des champs et la gestion des erreurs de saisie sont également incluses.

Transféré par

karim benjmaa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
22 vues6 pages

Formulaire étudiant avec Python Tkinter

Le document décrit un exercice de programmation en Python utilisant la bibliothèque tkinter pour créer un formulaire d'inscription d'étudiants. Ce formulaire permet de saisir le matricule, le prénom et le nom d'un étudiant, ainsi que d'ajouter ces informations à une base de données SQLite. Des fonctionnalités telles que l'ajout d'étudiants, la réinitialisation des champs et la gestion des erreurs de saisie sont également incluses.

Transféré par

karim benjmaa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

AU : 2022-2023

Responsable du cours : Mme Ines Turki Khemakhem


Equipe pédagogique : Mme Nahla Fendri
Auditoire : 3ème e-business

Travaux Pratiques N°5 : SQLITE3


Langage de programmation évolué : PYTHON

Exercice :

Ecrire un programme Python [Link] utilisant la bibliothèque tkinter qui permet de tracer un
formulaire de taille 400x400 (figure ci-dessus) contenant :
- Entry1, Entry2, Entry3 pour saisir respectivement la matricule, le prénom et le nom
d’un étudiant.
- Un bouton Quitter qui permet de quitter l’application
- Un bouton Ajouter pour ajouter un nouvel étudiant
- Un bouton réinitialiser.
Lors du clic sur le bouton ajouter, la matricule, le prénom et le nom de l’étudiant seront insérés
dans la base ‘[Link]’ et le message « ajout avec succès » est affiché.
Une fois le bouton ajouter est cliqué, sans avoir remplir l’un des champs de saisie, un message
s’affiche « vous devez remplir les champs !!! »

~1~
AU : 2022-2023

Création de la base
import sqlite3
#----------------------------------------------------------------------------------------------------------------
#----------------------------------------------------------connexion bd-------------------------------------
# creation de la base
conn = [Link]("[Link]")
# Créer un cursor
cur = [Link] ()
# Création de la requete
req = "CREATE TABLE ETUDIANT ( id INTEGER PRIMARY KEY AUTOINCREMENT,
matricule TEXT NOT NULL, nom TEXT NOT NULL, prenom TEXT NOT NULL)"
# Exécution de la requete
cur . execute(req)
# Envoyer la requete
conn .commit()
# Fermer la connexion
conn . close

[Link]

from tkinter import *


import sqlite3
from [Link] import * # boîte de dialogue
# initialiser
def initialiser ():
[Link] (0, END)
[Link] (0, END)
[Link] (0, END)
m.focus_set()

~2~
AU : 2022-2023

# affichage
def affiche():
[Link](0, END)
conn = [Link]("[Link]")
cur = conn . cursor ()
[Link]("SELECT * FROM ETUDIANT")
r = [Link]()
for e in range(len(r)):
[Link](e, r[e])
[Link]()
# ajouter
def ajouter():
champnom = [Link]()
champprenom = [Link]()
champmat = [Link]()
if champnom != "" and champprenom != "" and champmat != "":
conn = [Link]("[Link]")
cur = conn . cursor ()
cur . execute("Insert into ETUDIANT (matricule, nom, prenom) values (
?,?,?)",(champmat,champnom , champprenom) )
conn .commit()
conn . close ()
showinfo("Résultat", "Ajout avec succés")
affiche()
else:
showwarning("Résultat","Vous devez remplir les champs!!!!")

~3~
AU : 2022-2023

#--------------------------------------------------------------Creation de la fenetre------------------------
------------
fen = Tk () # la fenêtre de l'application
[Link]('Formulaire')
[Link]('400x400')
[Link](background='white')
#creation titre principal
titre = Label (fen, bg="white",text="Remplir Formulaire",fg="red",font="broadway 18 bold")
[Link]()
#creation des frames
# *******frame 1
Frame1 = Frame(fen,bg="ivory",borderwidth=2, relief="groove")
[Link](fill="x",ipadx=5,ipady=5)
# *******frame 2
Frame2 = Frame(fen,bg="ivory",borderwidth=2, relief="groove")
[Link](fill="x",ipadx=5,ipady=5)
# *******frame 3
Frame3 = Frame(fen,bg="ivory",borderwidth=2, relief="sunken")
[Link](fill="x",ipadx=5,ipady=5)
#creation des labels
#matricule
mat = Label (Frame1,bg="ivory", text="Matriucle étudiant :",fg="red",font=("Courier", 10),
justify="left")
[Link] (row = 2, column = 2)
#prenom
prenom = Label (Frame1,bg="ivory", text="Prénom étudiant:",fg="red",font=("Courier", 10),
justify="left")
[Link] (row = 3, column = 2)
#nom
nom = Label (Frame1,bg="ivory", text="Nom étudiant:",fg="red",font=("Courier", 10),
justify="left")
[Link] (row = 4, column = 2)

~4~
AU : 2022-2023

#creation des champs du texte


#champ matricule
mm = StringVar()
m = Entry (Frame1, textvariable=mm)
[Link] (row = 2, column = 3)
m.focus_set()
# champ prenom
pp= StringVar()
p = Entry (Frame1, textvariable=pp)
[Link] (row = 3, column = 3)
#champ nom
nn= StringVar()
n = Entry (Frame1, textvariable=nn)
[Link] (row = 4, column = 3)

# les boutons et leur gestion


# Créer un objet photoimage pour utiliser l'image
photoA = PhotoImage(file = "[Link]")
photoQ = PhotoImage(file = "[Link]")
photoR = PhotoImage(file = "[Link]")
BQ = Button (Frame2, text=' Quitter ',image=photoQ, compound="right", command=quit)
[Link] (side="left",padx = 10)
BV = Button (Frame2, text=' Ajouter ', image=photoA, compound="left", command=ajouter)
[Link] (side="left",padx = 10)
BI = Button (Frame2, text=' Réinitialiser ', image=photoR, compound="left",
command=initialiser)
[Link] (side="left",padx = 10)
liste = Listbox(Frame3, width=50, font="courier 12 italic")
[Link]()

~5~
AU : 2022-2023

#remplissage de listBox
affiche()

#boucle infinie
[Link]()

~6~

Vous aimerez peut-être aussi