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 :

TypeError: Entry_1() missing 1 required positional argument


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2020
    Messages : 25
    Par défaut TypeError: Entry_1() missing 1 required positional argument
    Bonjour je suis entrain de faire un petit code en office de test mais je suis face à une erreur que je n'arrive pas à comprendre, serait-il possible de m'éclairer ? cdt


    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
    import tkinter as tk
    import pygame
     
     
     
     
    def Entry_1(event):
        pass
     
    def Entry_2(event):
        print("Entry 2 have been selected")
     
     
     
     
    app = tk.Tk()
    if Entry_1():
        print("Entry have been selected")
    elif Entry_2():
        print("Entry 2 have been selected")
     
    else:
        pass
     
     
     
     
     
     
     
     
     
    entry = tk.Entry(app)
    entry.pack()
     
     
    entry_2 = tk.Entry(app)
    entry_2.pack()
     
    entry.bind("<Button-1>",Entry_1)
    entry_2.bind("<Button-1>",Entry_2)
     
     
     
     
     
     
    app.mainloop()



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        if Entry_1():
    TypeError: Entry_1() missing 1 required positional argument: 'event'

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,
    Citation Envoyé par abcbbm Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        if Entry_1():
    TypeError: Entry_1() missing 1 required positional argument: 'event'
    Si tu traduis ce message d'erreur en français, ça donne quoi ?

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Le message d'erreur dit juste que si une fonction attend un argument (event), il ne faut pas oublier de le lui passer lors de l'appel.

    C'est un message d'erreur qu'on rencontre en découvrant les fonctions avec Python. Et si vous avez survolé les chapitres du tuto. qui parlent de tkinter comme vous avez survolé celui sur les fonctions, vous n'avez pas fini d'avoir des surprises.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2020
    Messages : 25
    Par défaut
    A vrai dire je sais ce qu'un passage d'argument comme ça par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def func(x,y):
        return x*y
     
     
     
    print(func(2,3))

    mais lorsque je mets :
    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
    import tkinter as tk
     
     
     
     
     
     
    def Entry_1(event):
        pass
     
    def Entry_2(event):
        pass
     
     
     
    if Entry_1(event):
        print("ed")
    elif Entry_2(event):
        print("f")
     
     
    app = tk.Tk()
     
     
    entry = tk.Entry(app)
    entry.pack()
     
     
    entry_2 = tk.Entry(app)
    entry_2.pack()
     
    entry.bind("<Button-1>",Entry_1)
    entry_2.bind("<Button-1>",Entry_2)
     
     
     
     
     
     
    app.mainloop()
    Event n'est pas reconnu

    ou encore

    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
    def Entry_1(event):
        return event
     
    def Entry_2(event):
        return event
     
     
     
    if Entry_1(event):
        print("ed")
    elif Entry_2(event):
        print("f")
     
     
    app = tk.Tk()
     
     
    entry = tk.Entry(app)
    entry.pack()
     
     
    entry_2 = tk.Entry(app)
    entry_2.pack()
     
    entry.bind("<Button-1>",Entry_1)
    entry_2.bind("<Button-1>",Entry_2)
     
     
     
     
     
     
    app.mainloop()

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par abcbbm Voir le message
    mais lorsque je mets :
    ...
    Event n'est pas reconnu
    Si vous aviez compris les fonctions et les variables, vous écririez Entry_1(None) ou définir la variable event=None puis appeler Entry_1(event).

    Et si vous aviez ouvert un tuto. sur tkinter, vous sauriez que la fonction Entry_1 sera appelée par tkinter lorsque l'utilisateur clique dessus avec event en paramètre... Et que vous n'êtes pas supposé appeler ce genre de fonction là (qu'on appelle callbacks) depuis votre programme.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2020
    Messages : 25
    Par défaut
    D’accord de votre réponse je vois comme même que j’ai des lacunes.... connaissiez vous des vidéos qui traitent de ce sujet ?
    Cdt

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par abcbbm Voir le message
    connaissiez vous des vidéos qui traitent de ce sujet ?
    Les videos c'est peut être bien pour se perfectionner mais la programmation est d'abord une pratique: si vous n'essayez pas par vous même en codant, vous ne saurez pas grand chose.
    Potassez déjà les chapitres du Swinnen qui parlent de la programmation avec tkinter.
    Essayez de faire les exercices proposés pour voir si vous avez compris.
    Relisez les concepts présentés dans le texte.

    C'est un mouvement de va et vient difficile à faire avec une video.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. required positional argument
    Par abcbbm dans le forum Général Python
    Réponses: 18
    Dernier message: 21/04/2020, 21h05
  2. TypeError: f() missing 1 required positional argument: 'd'
    Par Gailletan2 dans le forum Général Python
    Réponses: 3
    Dernier message: 08/05/2019, 13h34
  3. [Python 3.X] Probleme de TypeError: <lambda>() missing 1 required positional argument: 'b'
    Par Tonivege dans le forum Général Python
    Réponses: 7
    Dernier message: 20/02/2018, 13h58
  4. Réponses: 2
    Dernier message: 23/08/2016, 11h22
  5. Erreur positional arguments
    Par daufinsyd dans le forum Général Python
    Réponses: 3
    Dernier message: 23/05/2014, 19h34

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