1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
from tkinter import *
from tkinter import font
import sqlite3
#=================== Insertion des données dans database ================================================
def enregister(auteur, infos):
try:
connection = sqlite3.connect('mnesis.db') # Connection à la BdD
cursor = connection.cursor() # création du curseur
new_auteur = (cursor.lastrowid, entreeAuteur.get(),entreeInfos.get()) # Récupération des valeurs des boutons
cursor.execute('INSERT INTO tb_auteur VALUES(?,?,?)',new_auteur) # les (?,?,?) représentent les valeurs qui sont renseignées dans la variable new_auteur
print("Enregistrement effectué")
except Exception as e:
print("ERREUR",e)
connection.rollback()
finally:
cursor.close()
connection.commit() # Valider l'enregistrement dans la database
connection.close() ## Fermeture de la connection
#================== Création du constructeur graphique =================================
fenetre =Tk() # Création d'un constructeur
#champ_label = Label(fenetre, text="Menu") # Création d'un label
#champ_label.pack() # création de l'impression du label
#======== Dimensionnement de la fenetre =================================================
# Fonction centrer fenêtre
screen_x = int(fenetre.winfo_screenwidth())
screen_y = int(fenetre.winfo_screenheight())
fenetre_x = 800
fenetre_y = 600
pos_x = (screen_x // 2) - (fenetre_x // 2)
pos_y = (screen_y // 2) - (fenetre_y // 2)
# Attention le 1er facteur est x ensuite +
geo = "{}x{}+{}+{}".format(fenetre_x, fenetre_y, pos_x, pos_y)
fenetre.geometry(geo)
#============= FENETRE FIN ==============================================================
fenetre.iconbitmap("img/search.ico") ### Changement de l'icone de la fenêtre [l'icone doit être placé dans le répertoire racine de l'application ou un autre répertoire img/...]
#=================== Création d'un menu =================================================
menubar = Menu(fenetre) # Création de la FRAME pour placer les menus
menuFichier = Menu(menubar, tearoff=0) # Création du menu "Fichier"
menubar.add_cascade(label="Fichier", menu=menuFichier) # Rattachement des commandes au menu "Fichier"
menuFichier.add_command(label="Créer")
menuFichier.add_command(label="Ouvrir",)
menuFichier.add_command(label="Editer")
menuFichier.add_separator() # Ligne de séparation
menuFichier.add_command(label="Quitter", command=fenetre.quit)
menuEdition = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Edition", menu=menuEdition)
menuEdition.add_command(label="Couper")
menuEdition.add_command(label="Copier")
menuEdition.add_command(label="Coller")
menuAide = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Aide", menu=menuAide)
menuAide.add_command(label="A propos")
#=================== Création d'un GRID ================================================
labelAuteur = Label(fenetre, text="Auteur", font=("Arial", 12), width="30", height="5")
labelAuteur.grid(row = 1, column=1, padx = 5)
entreeAuteur = Entry (fenetre,fg="#ff5733", width="30")
entreeAuteur.grid(row = 1, column = 2,)
labelInfos = Label(fenetre, text="Infos", font=("Arial", 12))
labelInfos.grid(row = 2, column=1, padx = 5)
entreeInfos = Entry (fenetre)
entreeInfos.grid(row = 2, column = 2)
#labelMessage = Label(fenetre, text=print)
#labelMessage.grid(row=3, column=6)
boutonEnregistrer = Button(fenetre, text=' Valider ', command=enregister(auteur, infos))
boutonEnregistrer.grid (row = 1, column = 8, padx = 30)
#================== FERMETURE DES BOUCLES ==============================================
fenetre.config(menu=menubar) # Configuration et print menu
fenetre.mainloop() # Boucle principale |
Partager