Problème avec Tkinter

Résolu
willi_4185 Messages postés 44 Statut Membre -  
willi_4185 Messages postés 44 Statut Membre -
Bonjour, alors pour faire simple je viens de commencer le python et je suis actuellement en train d'essayer de coder un logiciel de calculer pour son argent et j'ai eu une erreur avec une de mes lignes de code,

 lb = tkinter.label(retrait, text="Il vous reste donc :" + wallet + "$") 


Problème qui se situe au niveau du "t" de tkinter

Voici le code complet si vous en avez besoin (il y à probablement d'autre erreur dans ce code donc si vous les voyez
dite le moi :P

import tkinter

def propos():
propos = tkinter.Toplevel(app)
propos.geometry("240x72")
propos.title("À propos")
lb = tkinter.Label(propos, text="""Bienvenue sur mon logiciel de calcul,
afin que vous puissiez gérer votre argent""")
lb.pack()
if __name__=='__propos__':
main()

def retrait():
int(wallet = 5000)
retrait = tkinter.Toplevel(app)
retrait.geometry("240x72")
retrait.title("Retrait")
lb = tkinter.Label(retrait, input("Entrer le montant que vous souhaiter retirer"))
int(wallet = int(rps) - int(wallet)
lb = tkinter.label(retrait, text="Il vous reste donc :" + wallet + "$")
lb.pack()
if __name__=='__retrait__':
main()

def virement():

if __name__=='__virement__':
main()

app = tkinter.Tk()
app.geometry("480x240")
app.title("Wallet Menu")

mainmenu = tkinter.Menu(app)

first_menu = tkinter.Menu(mainmenu, tearoff=0)
first_menu.add_command(label="Virement", command=virement)
first_menu.add_command(label="Retrait", command=retrait)
first_menu.add_command(label="Quitter", command=app.quit)

second_menu = tkinter.Menu(mainmenu, tearoff=0)
second_menu.add_command(label="À propos", command=propos)

mainmenu.add_cascade(label="Wallet Option", menu=first_menu)
mainmenu.add_cascade(label="Option", menu=second_menu)

app.config(menu=mainmenu)
app.mainloop()


Merci encore !

2 réponses

  1. trifou
     
    Bonsoir,

    int(wallet = int(rps) - int(wallet) 


    Je me demande comment tu as fait pour ne pas voir cette erreur XD

    Après pour voir les éventuelles autres erreurs, il aurait déjà fallu que tu utilises la balise code du forum, en l'état c'est pas lisible ni testable.
    1
    1. willi_4185 Messages postés 44 Statut Membre 3
       
      J'ai effectivement trouver la soluce et boom une nouvelle erreur est apparu la voici :

      import tkinter
      from tkinter import Label
      
      
      def wallet():
          wallet = 5000
      
          if __name__ == '__wallet__':
              main()
      # Tous les def pour les fonctions
      #Options à propos
      def propos():
          propos = tkinter.Toplevel( app )
          propos.geometry( "240x72" )
          propos.title( "À propos" )
          lb = tkinter.Label( propos, text="""Bienvenue sur mon logiciel de calcul, 
      afin que vous puissiez gérer votre argent""" )
          lb.pack()
          if __name__ == '__propos__':
              main()
      
      #retrait
      def retrait():
          retrait = tkinter.Toplevel( app )
          retrait.geometry( "240x72" )
          retrait.title( "Retrait" )
          lb = tkinter.Label( retrait, text="ESSAIE ICI LOL")
          int(wallet = int(rps) - int(wallet) 
          
           lb = tkinter.label(retrait, text="Il vous reste donc : ")
           lb.pack()
          if __name__ == '__retrait__':
              main()
      #virement
          def virement():
              virement = tkinter.Toplevel( app )
          virement =.geometry( "240x72" )
          retrait.title( "Virement" )
          lb = tkinter.label(virement, text="Il vous reste donc : " + wallet + "$")
          lb.pack()
          if __name__ == '__virement__':
              main()
      
      
      # Widgets...
      app = tkinter.Tk()
      app.geometry( "480x240" )
      app.title( "Wallet Menu" )
      
      mainmenu = tkinter.Menu( app )
      # Preminer Menu
      first_menu = tkinter.Menu( mainmenu, tearoff=0 )
      first_menu.add_command( label="Virement", command=virement )
      first_menu.add_command( label="Retrait", command=retrait )
      first_menu.add_separator()
      first_menu.add_command( label="Quitter", command=app.quit )
      # Second Menu
      second_menu = tkinter.Menu( mainmenu, tearoff=0 )
      second_menu.add_command( label="À propos", command=propos )
      
      mainmenu.add_cascade( label="Wallet Option", menu=first_menu )
      mainmenu.add_cascade( label="Option", menu=second_menu )
      
      # boucle princiaple
      app.config( menu=mainmenu )
      app.mainloop()


      l'erreur se situe au niveau de la ligne : 30 (lb)
      le message d'erreur : {
      "resource": "/c:/Users/willi/Desktop/Dév/Code/Wallet Menu",
      "owner": "python",
      "code": "syntax-error",
      "severity": 8,
      "message": "invalid syntax (<unknown>, line 30)",
      "source": "pylint",
      "startLineNumber": 30,
      "startColumn": 7,
      "endLineNumber": 30,
      "endColumn": 7
      }

      Si jamais tu trouve la manière de réparer cela je t'en saurai reconnaissant :P
      0
  2. trifou
     
    Bonjour,

    Exactement la même erreur que la précédente en ligne 28.

    Visualise aussi la ligne 30, et constate qu'il y a un problème d'indentation (espace en trop).

    Pourquoi y a-t-il des
    if __name__ == XXX
    dans tes fonctions ?

    Il y a encore d'autres erreurs.
    0
    1. willi_4185 Messages postés 44 Statut Membre 3
       
      Comme expliquer plutôt je viens de commencer python, et je croyais que je devais toujours mettre
      If __name__=='__xxx__':
      main()
      à la fin d'une fonction. Ou alors faut-il que je mette return ?
      0
      1. trifou > willi_4185 Messages postés 44 Statut Membre
         
        Tu mets un return s'il y a quelque chose à retourner, ça, c'est à toi de voir ^^

        On utilise la variable
        __name__
        principalement pour exécuter du code seulement si c'est le module (fichier py) en question qui a été lancé, pour le moment oublie cela, tu auras l'occasion plus tard de t'y pencher.
        0
      2. willi_4185 Messages postés 44 Statut Membre 3 > trifou
         
        d'accord merci !
        1