Alerte en cas de champs vide en Python
RésoluLenouveauapprenti Messages postés 306 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Environnement : Python 3.12
Niveau : Debutant
Je n'arrive pas a faire renvoyer par l'application de l'alerte ( messagebox)
en cas ou le champs de saisie (Entry) est vide.
Merci d'avance pour votre aide.
Mon code est comme suite (Voir la ligne 50 et plus)
#Definir source des objets import sys import tkinter import tkinter.ttk from tkinter import * import messagebox import customtkinter # Se connecter avec la Base des Donnees import mariadb try: conn = mariadb.connect( user="mohammed", password="hello", host="127.0.0.1", port=3306, database="BDGestion" ) except mariadb.Error as err: print(f"erreur de connexion avec la base de donnees : {err}") sys.exit(1) #Recuperation curseur cur = conn.cursor() #Creation de la fenetre principale Fenetre=Tk() #Creation de Sous Fenetre #Sous fenetre = Creation de societe def Afficher_CreationSte(): Afficher_CreationSte=tkinter.Toplevel() Afficher_CreationSte.title("Creation de Societe") Afficher_CreationSte.config(background="#E4DEBE") Afficher_CreationSte.iconbitmap("Champs.ico") Afficher_CreationSte.geometry('700x350') Afficher_CreationSte.minsize(width=400,height=200) #Creation de Frame maFrame=tkinter.LabelFrame(Afficher_CreationSte,background="#E4DEBE",relief="flat") maFrame.grid(padx=20,pady=10) maFrame.frame=customtkinter.CTkFrame(maFrame,corner_radius=10) #Evenemets #Ajouter def Ajouter_ZoneSte(): if Zone_RaisonSociale.get()==None: messagebox.showinfo("Information", message="Veuillez saisir la Raison Sociale") #Annuler def Annuler_ZoneSte(): Zone_RaisonSociale.delete(0,END) Zone_Capital.delete(0,END) Zone_IFiscal.delete(0, END) Zone_Affiliation.delete(0, END) Zone_Tel1.delete(0, END) Zone_Tel2.delete(0, END) Zone_Email.delete(0, END) Zone_Adresse.delete(0, END) Zone_RaisonSociale.focus_set() Titre_RaisonSociale = tkinter.Label(maFrame, text="Raison Sociale",background="#E4DEBE") Titre_RaisonSociale.grid(row=0,column=1,ipadx=10,sticky="e") Zone_RaisonSociale = tkinter.Entry(maFrame, background="#E4DEBE") Zone_RaisonSociale=customtkinter.CTkEntry(maFrame,corner_radius=10,width=450) Zone_RaisonSociale.focus_set() Zone_RaisonSociale.grid(row=0,column=2,sticky="w") Statut_Societe=tkinter.Label(maFrame,text="Statut Juridique",background="#E4DEBE") Statut_Societe.grid(row=1,column=1,ipadx=10,sticky="e") Liste_Statut=["S.A","S.A.R.L","S.N.C","S.F"] #Zone_Statut=tkinter.ttk.Combobox(maFrame,values=Liste_Statut,background="#E4DEBE") Zone_Statut = customtkinter.CTkComboBox(maFrame, values=Liste_Statut,corner_radius=10) Zone_Statut.grid(row=1,column=2,sticky="w") Titre_Capital=tkinter.Label(maFrame,text="Capital Social",background="#E4DEBE") Titre_Capital.grid(row=2,column=1,ipadx=10,sticky="e") Zone_Capital=tkinter.Entry(maFrame,background="#E4DEBE",width=23) Zone_Capital=customtkinter.CTkEntry(maFrame,corner_radius=10) Zone_Capital.grid(row=2,column=2,sticky="w") Titre_Ifiscal = tkinter.Label(maFrame, text="Identifiant Fiscal", background="#E4DEBE") Titre_Ifiscal.grid(row=3,column=1,ipadx=10 ,sticky="e") Zone_IFiscal=tkinter.Entry(maFrame,background="#E4DEBE",width=23) Zone_IFiscal=customtkinter.CTkEntry(maFrame,corner_radius=10) Zone_IFiscal.grid(row=3,column=2,sticky="w") Titre_Affiliation = tkinter.Label(maFrame, text="Affiliation CNSS", background="#E4DEBE") Titre_Affiliation.grid(row=4, column=1, ipadx=10, sticky="e") Zone_Affiliation = tkinter.Entry(maFrame, background="#E4DEBE",width=23) Zone_Affiliation=customtkinter.CTkEntry(maFrame,corner_radius=10) Zone_Affiliation.grid(row=4, column=2, sticky="w") Titre_Tel = tkinter.Label(maFrame, text="Telephone", background="#E4DEBE") Titre_Tel.grid(row=5, column=1, ipadx=10, sticky="e") Zone_Tel1 = tkinter.Entry(maFrame, background="#E4DEBE",width=23) Zone_Tel1=customtkinter.CTkEntry(maFrame,corner_radius=10) Zone_Tel1.grid(row=5, column=2, sticky="w") Zone_Tel2 = tkinter.Entry(maFrame, background="#E4DEBE",width=23) Zone_Tel2=customtkinter.CTkEntry(maFrame,corner_radius=10) Zone_Tel2.grid(row=6, column=2,sticky="w") Titre_Email = tkinter.Label(maFrame, text="E-Mail", background="#E4DEBE") Titre_Email.grid(row=7, column=1, ipadx=10, sticky="e") Zone_Email = tkinter.Entry(maFrame, background="#E4DEBE",width=23) Zone_Email=customtkinter.CTkEntry(maFrame,corner_radius=10) Zone_Email.grid(row=7, column=2, sticky="w") Titre_Adresse = tkinter.Label(maFrame, text="Adresse", background="#E4DEBE") Titre_Adresse.grid(row=8, column=1, ipadx=10, sticky="e") Zone_Adresse = tkinter.Text(maFrame, background="#E4DEBE") Zone_Adresse=customtkinter.CTkEntry(maFrame,corner_radius=10, width=550,height=40) Zone_Adresse.grid(row=8, column=2, sticky="w") BoutSte_Ajouter = customtkinter.CTkButton(maFrame,text="Ajouter", corner_radius=10, width=220,command=Ajouter_ZoneSte) BoutSte_Ajouter.grid(row=9,column=2,sticky="w",padx=5,pady=5,ipadx=10,ipady=10) BoutSte_Annuler=customtkinter.CTkButton(maFrame,text="Annuler",corner_radius=10,width=220,command=Annuler_ZoneSte) BoutSte_Annuler.grid(row=9,column=2,sticky="e",padx=5,pady=5,ipadx=10,ipady=10) #_______________________________________ #Personnaliser la fenetre principale Fenetre.iconbitmap("Champs.ico") Fenetre.title("MezApp'S Apprentissage") Fenetre.config(background="#E4DEBE") Fenetre.geometry('1080x620') Fenetre.minsize(width=700,height=400) #Creation la Barre du Menu Barre_Menu=Menu(Fenetre) #Creation Menu deroulant = Fichiers Menu1=Menu(Barre_Menu,tearoff=0) Menu1.add_command(label="Ouvrir") Menu1.add_command(label="Changement de Societe") Menu1.add_separator() Menu1.add_command(label="Creation de Societe",command=Afficher_CreationSte) Menu1.add_command(label="Creation de Campagne") Menu1.add_separator() Menu1.add_command(label="Securite") Menu1.add_command(label="Formater la Base des Donnees") Menu1.add_separator() Menu1.add_command(label="Quitter",command=Fenetre.quit) Barre_Menu.add_cascade(label="Fichiers",menu=Menu1) #------------------------------------------------- #Configurer la Barre du Menu Fenetre.config(menu=Barre_Menu) #Charger la fenetre principale Fenetre.mainloop()
Mon code est comme suite ( surtout la ligne 50) :
Windows / Chrome 121.0.0.0
- Alerte en cas de champs vide en Python
- Supprimer page word vide - Guide
- Fausse alerte mcafee - Accueil - Piratage
- Citizen code python avis - Accueil - Outils
- Cas ram - Guide
- Caractere vide - Guide
4 réponses
Salut,
def Ajouter_ZoneSte(): if not Zone_RaisonSociale.get(): messagebox.showinfo("Information", message="Veuillez saisir la Raison Sociale", parent=maFrame)
Re
Effectivement, après avoir remplacé
import messeagebox
... par :
from tkinter import messagebox
... le message marche bien avec ( parent = maFrame )
Merci
Merci pour votre réponse.
Une remarque, votre proposition marche bien sans ( parent=maFarme )
par contre en laissant ( parent=maFarme ) le message ne s'affiche pas
Une question comment puis je faire pour que après l'affichage du message l'opération sort de la boucle ( en VB6 j'utilisais exit sub )
Une autre fois Merci
Re
Justement c'est maFrame, pourtant ne marche pas avec ( parent )
Voila le message d'erreur que Python me renvoie
File "C:\Users\hp\PycharmProjects\P2\main.py", line 53, in Ajouter_ZoneSte
messagebox.showinfo("Information", message="Veuillez saisir la Raison Sociale", parent=maFrame)
TypeError: showinfo() got an unexpected keyword argument 'parent'