IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

input.get() ne fonctionne pas


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité de passage
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2025
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2025
    Messages : 18
    Par défaut input.get() ne fonctionne pas
    Bonjour,
    je suis nouveau sur ce forum donc je peux me tromper. Merci de m'aider à corriger.
    Retraité je suis engagé dans une association humanitaire et j'ai développé un petit programme pour cette association en VBA.
    Pour l'heure je voudrais essayer de comprendre la programmation en Python.
    J'ai tester un petit programme de saisie de données et récupération de celles-ci pour affichage mais cela ne fonctionne pas.
    J'uilise input.get() pour remplir une variable avec le conenu de la saisie mais seul le texte par défaut apparait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    import tkinter as tk
    from tkinter import font
    from tkinter import *
     
    app = tk.Tk()
    app.title('Assistance Humanitaire Internationale')
    app.geometry("1000x500")
     
    custom_font = font.Font(family="Helvetica", size=14, weight="bold")
     
    labelTitre1 = tk.Label(app, text="SAISIE ADHERENTS", fg="blue", bg="#FF0", font=custom_font)
    labelTitre1.place(x=500, y=0) #              x = du bord gauche - y= du haut
    labelTitre2 = tk.Label(app, text="--------------------------------------")
    labelTitre2.place(x=500, y=25)
    #-----
    labelNom = tk.Label(app, text="NOM", fg="blue", bg="#FF0")
    labelNom.place(x=0, y=50)
    custom_font = font.Font(family="Helvetica", size=8, weight="bold")
    labelNom2 = tk.Label(app, text="ATTENTION: utiliser le - pour les noms composés", fg="Red", bg="#0ff", font=custom_font)
    labelNom2.place(x=300, y=50)
    labelPrenom = tk.Label(app, text="PRENOM", fg="blue", bg="#FF0")
    labelPrenom.place(x=0, y=75)
    labelPrenom2 = tk.Label(app, text="ATTENTION: utiliser le - pour les prénoms composés", fg="Red", bg="#0ff", font=custom_font)
    labelPrenom2.place(x=300, y=75)
    labelAdresse1 = tk.Label(app, text="Adresse1")
    labelAdresse1.place(x=0, y=100)
    labelAdresse2 = tk.Label(app, text="Adresse2")
    labelAdresse2.place(x=0, y=125)
    labelCpostal = tk.Label(app, text="Code Postal")
    labelCpostal.place(x=0, y=150)
    labelVille = tk.Label(app, text="Ville")
    labelVille.place(x=325, y=150)
    labelTphfixe = tk.Label(app, text="Tph fixe")
    labelTphfixe.place(x=0, y=175)
    labelTphport = tk.Label(app, text="Tph portable")
    labelTphport.place(x=325, y=175)
    labelMail = tk.Label(app, text="Mail")
    labelMail.place(x=0, y=200)
     
    labelAdhesion = tk.Label(app, text="Année Adhésion")
    labelAdhesion.place(x=700, y=50)
    labelNaissance = tk.Label(app, text="Dete de naissance")
    labelNaissance.place(x=700, y=75)
    labelProfession = tk.Label(app, text="Profession")
    labelProfession.place(x=700, y=100)
    labelLettre = tk.Label(app, text="Lettre info")
    labelLettre.place(x=700, y=125)
    labelLettre1 = tk.Label(app, text="Tapez O ou N", fg="Red", bg="#0ff")
    labelLettre1.place(x=850, y=125)
    labelCotisation = tk.Label(app, text="Année Cotisation", fg="Red", bg="Yellow")
    labelCotisation.place(x=700, y=150)
     
    entryNom = tk.Entry(app, width=30)
    entryNom.insert(0, "Entrez votre nom ici")
    Lenom = entryNom.get()
     
    entryPrenom = tk.Entry(app, width=30) #width = longeur zone de saisie = largeur de la colonne
    entryPrenom.insert(0, "Entrez votre prénom ici")
    Leprenom = entryPrenom.get()
     
    entryAdresse1 = tk.Entry(app, width=40)
    entryAdresse2 = tk.Entry(app, width=40)
    entryCpostal= tk.Entry(app, width=5)
    entryVille = tk.Entry(app, width=40)
    entryTphfixe = tk.Entry(app, width=12)
    entryTphport = tk.Entry(app, width=12)
    entryMail = tk.Entry(app, width=40)
    entryAdhesion = tk.Entry(app, width=4)
    entryNaissance = tk.Entry(app, width=10)
    entryProfession = tk.Entry(app, width=25)
    entryLettre = tk.Entry(app, width=1)
    entryCotisation = tk.Entry(app, width=4)
     
    # x = du bord gauche - y= du haut
    entryNom.place(x=85, y=50)
    entryPrenom.place(x=85, y=75)
    entryAdresse1.place(x=85, y=100)
    entryAdresse2.place(x=85, y=125)
    entryCpostal.place(x=85, y=150)
    entryVille.place(x=410, y=150)
    entryTphfixe.place(x=85, y=175)
    entryTphport.place(x=410, y=175)
    entryMail.place(x=85, y=200)
    entryAdhesion.place(x=825, y=50)
    entryNaissance.place(x=825, y=75)
    entryProfession.place(x=825, y=100)
    entryLettre.place(x=825, y=125)
    entryCotisation.place(x=825, y=150)
    #----------------------
     
    Button0 = tk.Button(app, text="VALIDER")
    Button0.place(x=0, y=450)
     
    Button1 = tk.Button(app, text="MODIFIER")
    Button1.place(x=100, y=450)
    Button2 = tk.Button(app, text="SUPPRIMER")
    Button2.place(x=200, y=450)
    Button3 = tk.Button(app, text="QUITTER",command = quit)
    Button3.place(x=300, y=450)
     
    print("Bonjour " + Lenom +" " + Leprenom)
     
    app.mainloop()

    Pouvez-vous m'aider pourquoi "Lenom = entryNom.get()" ne fonctionne pas
    erci de votre aide et de vos explications.
    A vous lire

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 437
    Par défaut
    Hello,

    Le problème principal :

    Vous appelez entryNom.get() immédiatement après avoir créé le widget Entry, AVANT que l'utilisateur n'ait eu le temps de saisir quoi que ce soit. Le code s'exécute de manière séquentielle, donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    entryNom = tk.Entry(app, width=30)  # Création du champ
    entryNom.insert(0, "Entrez votre nom ici")  # Texte par défaut
    Lenom = entryNom.get()  # Récupération IMMEDIATE = "Entrez votre nom ici"
    À ce moment, l'utilisateur n'a pas encore vu la fenêtre ! La variable Lenom contient donc le texte par défaut.

    Solutions possibles :

    Solution 1 : Utiliser une fonction déclenchée par le bouton VALIDER

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    import tkinter as tk
    from tkinter import font
    from tkinter import messagebox
     
    app = tk.Tk()
    app.title('Assistance Humanitaire Internationale')
    app.geometry("1000x500")
     
    # Fonction pour récupérer les données lors du clic sur VALIDER
    def valider_donnees():
        Lenom = entryNom.get()
        Leprenom = entryPrenom.get()
     
        # Vérifier que ce n'est pas le texte par défaut
        if Lenom == "Entrez votre nom ici" or Lenom == "":
            messagebox.showwarning("Attention", "Veuillez entrer un nom valide")
            return
     
        if Leprenom == "Entrez votre prénom ici" or Leprenom == "":
            messagebox.showwarning("Attention", "Veuillez entrer un prénom valide")
            return
     
        # Afficher les données récupérées
        message = f"Bonjour {Lenom} {Leprenom}"
        print(message)
        messagebox.showinfo("Données saisies", message)
     
        # Ici vous pouvez traiter les données (enregistrer dans fichier, base de données, etc.)
     
    # ... (reste de votre code pour les labels) ...
     
    # Création des Entry
    entryNom = tk.Entry(app, width=30)
    entryNom.insert(0, "Entrez votre nom ici")
     
    entryPrenom = tk.Entry(app, width=30)
    entryPrenom.insert(0, "Entrez votre prénom ici")
     
    # ... (autres Entry) ...
     
    # Modifier le bouton VALIDER pour appeler la fonction
    Button0 = tk.Button(app, text="VALIDER", command=valider_donnees)
    Button0.place(x=0, y=450)
     
    app.mainloop()
    Solution 2 : Effacer le texte par défaut au clic

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    # Fonction pour effacer le texte par défaut
    def on_entry_click(event, entry, default_text):
        if entry.get() == default_text:
            entry.delete(0, "end")
            entry.insert(0, '')
     
    def on_focusout(event, entry, default_text):
        if entry.get() == '':
            entry.insert(0, default_text)
     
    # Création de l'Entry avec gestion du focus
    entryNom = tk.Entry(app, width=30)
    entryNom.insert(0, "Entrez votre nom ici")
    entryNom.bind('<FocusIn>', lambda e: on_entry_click(e, entryNom, "Entrez votre nom ici"))
    entryNom.bind('<FocusOut>', lambda e: on_focusout(e, entryNom, "Entrez votre nom ici"))
    Différences importantes entre VBA et Python/Tkinter :

    1. Programmation événementielle
    - VBA : Les UserForms ont des événements automatiques (Click, Change, etc.)
    - Python/Tkinter : Vous devez explicitement lier les fonctions aux événements avec command= ou .bind()

    2. Moment de l'exécution
    - VBA : Le code dans un événement s'exécute quand l'événement se produit
    - Python : Le code s'exécute ligne par ligne lors du lancement du programme

    3. Boucle principale
    - VBA : Gestion automatique de l'interface
    - Python : app.mainloop() est nécessaire pour maintenir la fenêtre ouverte

    Voici un code minimal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    import tkinter as tk
    from tkinter import messagebox
     
    def valider_donnees():
        # Récupération des données AU MOMENT DU CLIC
        nom = entryNom.get()
        prenom = entryPrenom.get()
     
        # Validation simple
        if nom and prenom:
            messagebox.showinfo("Succès", f"Adhérent enregistré : {nom} {prenom}")
            # Effacer les champs après validation
            entryNom.delete(0, tk.END)
            entryPrenom.delete(0, tk.END)
        else:
            messagebox.showwarning("Erreur", "Veuillez remplir tous les champs")
     
    app = tk.Tk()
    app.title('Assistance Humanitaire')
    app.geometry("400x200")
     
    tk.Label(app, text="NOM:").grid(row=0, column=0, padx=10, pady=10)
    entryNom = tk.Entry(app, width=30)
    entryNom.grid(row=0, column=1, padx=10, pady=10)
     
    tk.Label(app, text="PRENOM:").grid(row=1, column=0, padx=10, pady=10)
    entryPrenom = tk.Entry(app, width=30)
    entryPrenom.grid(row=1, column=1, padx=10, pady=10)
     
    tk.Button(app, text="VALIDER", command=valider_donnees).grid(row=2, column=1, pady=20)
     
    app.mainloop()
    Conseil pour votre transition VBA vers Python :

    Pensez toujours en termes d'événements :
    - Création des widgets : se fait au démarrage
    - Récupération des données : se fait dans une fonction liée à un bouton
    - mainloop() : maintient l'application en attente d'événements
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Invité de passage
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2025
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2025
    Messages : 18
    Par défaut
    Un grand MERCI Fred pour ces explications.
    D'abord je ne suis en aucun cas informaticien - analyste - programmeur. Juste un retraité investi dans une assos humanitaire (trésorier) https://www.assistancehumanitaire.org/
    et qui cherche à améliorer notre fonctionnement. J'avais écrit pendant la COVID un chouette programme en VBA qui gérait les adhérents (création, modification, archivage, suppression). Qui gérait toute la comptra et trésorerie, et le suivi des projets. Tout cela fonctionne très bien sur Windows 10 et OFFICE 2007. Sauf que mes collègues passent tous à Windows11 et là bug!
    Donc je nourris le secret espoir de réécrire tout cela en Python. Mais...

    J'ai intégré votre solution et cela marche. reste, après le nom et prénom, à faire tout le reste.
    Ensuite il me faudra trouver le code pour ajouter la ligne saisie dans mon tableur excel. Je pense que cela doit être possible.
    Merci encore de votre aide et restez à l'écoute. Je ne sais pas pourquoi mais j'ai l'impression que je vais encore avoir besoin de vos conseil... Lol
    Yves

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 437
    Par défaut
    Il est important de proposer votre code entre balises (bouton #) car en python, l'indentation est extrêmement importante.

    Il y a deux définitions distinctes pour la fonction valider_donnees() :

    La première (lignes 6 à 17) : Elle effectue une validation simple (if nom and prenom: ), affiche un message de succès, et efface les champs.
    La deuxième (lignes 20 à 35) : Elle effectue une validation contre un texte par défaut ("Entrez votre nom/prénom ici"), affiche les données, et ne vide pas les champs.

    Le Problème : En Python, lorsque le script est exécuté, la dernière définition de la fonction valider_donnees() écrase la précédente.

    Point à éclaircir/Valider : Laquelle des deux logiques de validation est la bonne ?

    Bien que place fonctionne, il est très rigide. Si la fenêtre est redimensionnée (app.geometry("1000x500") est une taille fixe, mais si l'utilisateur l'agrandit), l'interface ne s'adaptera pas et les éléments risquent d'être mal positionnés. Les méthodes .grid() ou .pack() sont généralement préférées pour des formulaires qui doivent être responsive.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Invité de passage
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2025
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2025
    Messages : 18
    Par défaut
    Il suffit de remplacer
    labelTitre2.place(x=400, y=25)
    par
    labelTitre2.pack(x=400, y=25)
    J'ai bien peur que mon raisonnement ne soit un peu simpliste....

  6. #6
    Invité de passage
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2025
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2025
    Messages : 18
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    import tkinter as tk
    from tkinter import messagebox
    from tkinter import font
     
    # --- Fonction pour récupérer les données lors du clic sur VALIDER
    def valider_donnees():
        Lenom = entryNom.get()
        Leprenom = entryPrenom.get()
        Ladresse1= entryAdresse1.get()
        Ladresse2= entryAdresse1.get()
        Lecodepostal= entryCpostal.get()
        Laville= entryVille.get() 
        Letelefixe= entryTphfixe.get() 
        Leteleport=entryTphport.get()
        Lemail=entryMail.get()
        Ladhesion=entryAdhesion.get()
        Lanaissance=entryNaissance.get()
        Laprofession=entryProfession.get()
        Lalettre=entryLettre.get()
        Lacotisation=entryCotisation.get()
        Larelance=entryCotisation.get()
     
        # Vérifier que ce n'est pas le texte par défaut
        if Lenom == "Entrez votre nom ici" or Lenom == "":
            messagebox.showwarning("Attention", "Veuillez entrer un nom valide")
            return
     
        if Leprenom == "Entrez votre prénom ici" or Leprenom == "":
            messagebox.showwarning("Attention", "Veuillez entrer un prénom valide")
            return
     
        # Afficher les données récupérées
        message = f"Création de {Lenom} {Leprenom} {Ladresse1} {Lecodepostal} {Laville} {Letelefixe} {Leteleport} {Lemail}"
        messagebox.showinfo("Données saisies", message)
        messagebox.showinfo("Succès", f"Adhérent: {Lenom} {Leprenom} enregistré")
     
        # Ici vous pouvez traiter les données (enregistrer dans fichier, base de données, etc.)
     
        #==================
     
        # Effacer les champs après validation
        entryNom.delete(0, tk.END)
        entryPrenom.delete(0, tk.END)
        entryAdresse1.delete(0, tk.END)
        entryAdresse2.delete(0, tk.END)
        entryCpostal.delete(0, tk.END)
        entryVille.delete(0, tk.END)
        entryTphfixe.delete(0, tk.END)
        entryTphport.delete(0, tk.END)
        entryMail.delete(0, tk.END)
        entryAdhesion.delete(0, tk.END)
        entryNaissance.delete(0, tk.END)
        entryProfession.delete(0, tk.END)
        entryLettre.delete(0, tk.END)
        entryCotisation.delete(0, tk.END)
        entryRelance.delete(0, tk.END)
     
    # fin des fonctions 
     
    # le code
    app = tk.Tk()
    app.title('Assistance Humanitaire Internationale')
    app.geometry("1000x500")
     
    custom_font = font.Font(family="Helvetica", size=16, weight="bold")
    labelTitre1 = tk.Label(app, text="SAISIE ADHERENTS", fg="blue", bg="#FF0", font=custom_font)
    labelTitre1.place(x=400, y=0) #              x = du bord gauche - y= du haut
    labelTitre2 = tk.Label(app, text="--------------------------------------")
    labelTitre2.place(x=400, y=25)
    #-----
    labelNom = tk.Label(app, text="NOM", fg="blue", bg="#FF0")
    labelNom.place(x=0, y=50)
    custom_font = font.Font(family="Helvetica", size=8, weight="bold")
    labelNom2 = tk.Label(app, text="ATTENTION: utiliser le - pour les noms composés", fg="Red", bg="#0ff", font=custom_font)
    labelNom2.place(x=300, y=50)
    labelPrenom = tk.Label(app, text="PRENOM", fg="blue", bg="#FF0")
    labelPrenom.place(x=0, y=75)
    labelPrenom2 = tk.Label(app, text="ATTENTION: utiliser le - pour les prénoms composés", fg="Red", bg="#0ff", font=custom_font)
    labelPrenom2.place(x=300, y=75)
    labelAdresse1 = tk.Label(app, text="Adresse1")
    labelAdresse1.place(x=0, y=100)
    labelAdresse2 = tk.Label(app, text="Adresse2")
    labelAdresse2.place(x=0, y=125)
    labelCpostal = tk.Label(app, text="Code Postal")
    labelCpostal.place(x=0, y=150)
    labelVille = tk.Label(app, text="Ville")
    labelVille.place(x=325, y=150)
    labelTphfixe = tk.Label(app, text="Tph fixe")
    labelTphfixe.place(x=0, y=175)
    labelTphport = tk.Label(app, text="Tph portable")
    labelTphport.place(x=325, y=175)
    labelMail = tk.Label(app, text="Mail")
    labelMail.place(x=0, y=200)
    labelAdhesion = tk.Label(app, text="Année Adhésion")
    labelAdhesion.place(x=700, y=50)
    labelNaissance = tk.Label(app, text="Dete de naissance")
    labelNaissance.place(x=700, y=75)
    labelNaissance2 = tk.Label(app, text="jj/mm/aaaa", fg="Red", bg="#0ff", font=custom_font)
    labelNaissance2.place(x=900, y=75)
    labelProfession = tk.Label(app, text="Profession")
    labelProfession.place(x=700, y=100)
    labelLettre = tk.Label(app, text="Lettre info")
    labelLettre.place(x=700, y=125)
    labelLettre1 = tk.Label(app, text="Tapez O ou N", fg="Red", bg="#0ff")
    labelLettre1.place(x=850, y=125)
    labelCotisation = tk.Label(app, text="Année Cotisation", fg="Red", bg="Yellow")
    labelCotisation.place(x=700, y=150)
    labelRelance = tk.Label(app, text="Relance Cotisation", fg="Red", bg="Yellow")
    labelRelance.place(x=700, y=175)
     
    # Création des Entry
    entryNom = tk.Entry(app, width=30)
    entryNom.insert(0, "Entrez votre nom ici")
    entryPrenom = tk.Entry(app, width=30) #width = longeur zone de saisie = largeur de la colonne
    entryPrenom.insert(0, "Entrez votre prénom ici")
    entryAdresse1 = tk.Entry(app, width=40)
    entryAdresse2 = tk.Entry(app, width=40)
    entryCpostal= tk.Entry(app, width=5)
    entryVille = tk.Entry(app, width=40)
    entryTphfixe = tk.Entry(app, width=12)
    entryTphport = tk.Entry(app, width=12)
    entryMail = tk.Entry(app, width=40)
    entryAdhesion = tk.Entry(app, width=4)
    entryNaissance = tk.Entry(app, width=10)
    entryProfession = tk.Entry(app, width=25)
    entryLettre = tk.Entry(app, width=2)
    entryCotisation = tk.Entry(app, width=4)
    entryRelance = tk.Entry(app, width=2)
     
    # x = du bord gauche - y= du haut
    entryNom.place(x=85, y=50)
    entryPrenom.place(x=85, y=75)
    entryAdresse1.place(x=85, y=100)
    entryAdresse2.place(x=85, y=125)
    entryCpostal.place(x=85, y=150)
    entryVille.place(x=410, y=150)
    entryTphfixe.place(x=85, y=175)
    entryTphport.place(x=410, y=175)
    entryMail.place(x=85, y=200)
    entryAdhesion.place(x=825, y=50)
    entryNaissance.place(x=825, y=75)
    entryProfession.place(x=825, y=100)
    entryLettre.place(x=825, y=125)
    entryCotisation.place(x=825, y=150)
    entryRelance.place(x=825, y=175)
    #----------------------
    Button0=tk.Button(app, text="VALIDER", command = valider_donnees)
    Button0.place(x=5, y=450)
    Button1 = tk.Button(app, text="MODIFIER")
    Button1.place(x=100, y=450)
    Button2 = tk.Button(app, text="SUPPRIMER")
    Button2.place(x=200, y=450)
    Button3 = tk.Button(app, text="QUITTER",command = quit)
    Button3.place(x=500, y=450)
     
    app.mainloop()

Discussions similaires

  1. Onclick avec l'objet Input Button ne fonctionne pas correctement
    Par jpwitz dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/01/2017, 17h18
  2. Ajouter un input (appendchild) ne fonctionne pas
    Par patricktoulon dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/11/2015, 09h29
  3. [PHP 5.5] input submit ne fonctionne pas
    Par chtony845 dans le forum Langage
    Réponses: 15
    Dernier message: 22/07/2015, 01h10
  4. Formulaire AJAX, élément input radio ne fonctionne pas
    Par benflodu69 dans le forum Langage
    Réponses: 4
    Dernier message: 26/05/2014, 00h02
  5. HTML5 input required ne fonctionne pas
    Par manbar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 25/11/2013, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo