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

Tkinter Python Discussion :

Bouton qui fonctionne pas


Sujet :

Tkinter Python

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Points : 273
    Points
    273
    Par défaut Bouton qui fonctionne pas
    Bonjour,

    Pourriez-vous me dire svp pourquoi les 2 boutons qui commandent des print ne fonctionnent pas dans mon code ?

    Merci d'avance.

    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
    from tkinter import *
    from tkinter import ttk
     
    L = 600
    H = 500
    nbreElement = 4
     
    def createTab():
        print("OUI!")
     
    def createTab2():
        print("NON!")     
     
    def Statistique1(t, monText):
        pass
     
    def Statistique(t, monText):    
     
        fonts = {
            'normal': 'arial 9',
            'bold': 'arial 9 bold',
            }
     
        monText.grid(row=0, column=0, sticky='nwse') # expansion du widget Text
        for i in range(nbreElement):
            monText.columnconfigure(i, weight=1)
            #monText.rowconfigure(i, weight=1)
            color = ['grey75', 'orange'][i % 2]
            for j in range(3):
                label = Label(monText, text=t, width=int(L/nbreElement), 
                                 bg=color, anchor='s',
                                 font=fonts['normal'])
                label.grid(row=j, column=i, padx=1)
     
        #return monText       
     
    def create_frame(master, t):
     
        frame = Frame(master, bd=2, relief=SUNKEN)
     
        t = "mon lab"
     
        frame.grid_columnconfigure(0, weight=1) # expansion de la colonne
        frame.grid_rowconfigure(0, weight=1) # expansion de la colonne
     
        monText = Text(frame)
        monText.grid(row=0, column=0, sticky='nwse') # expansion du widget Text
     
        #monText.insert(0.0, t)
     
        #newBtn = Button(toolbar, text="Tableau", bg="maroon", fg="white", borderwidth=3, command=Statistique(t, monText))
        newBtn = Button(toolbar, text="NON", bg="maroon", fg="white", borderwidth=3, command=createTab2())
        newBtn.pack(side=LEFT, fill=X)
     
        root.geometry('{}x{}'.format(L, H))
     
        return frame   
     
    #createTab()
     
    if __name__ == '__main__':
        root = Tk()
     
        myColor="lightblue"
     
        # Defines and places the notebook widget
     
        nb = ttk.Notebook(root)
        toolbar = Frame(root, borderwidth=2, relief='raised', background=myColor)
     
        frame1 = create_frame(nb,1)
        nb.add(frame1, text='Text')
     
        toolbar.pack(side=TOP, fill=X)
        nb.pack(fill=BOTH, expand=1)
     
        t=""
        monText=frame1
     
        newBtn = Button(toolbar, text="OUI", bg="red", fg="white", borderwidth=3, command=createTab())
        newBtn.pack(side=LEFT, fill=X)    
     
        # Fin du menu deroulant #############################################  
     
        root.configure(background="green")
        root.mainloop()

  2. #2
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    Salut,

    Il faut comprendre que lorsque tu fais command=createTab2() tu attribues le retour de createTab2() à la commande.
    Donc : command == None

    Et d’ailleurs, tu as dû avoir les deux print exécutés au démarrage de ton script.

    Supprime les parenthèses et ça ira mieux.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Il faut comprendre que lorsque tu fais command=createTab2() tu attribues le retour de createTab2() à la commande.
    Donc : command == None

    Et d’ailleurs, tu as dû avoir les deux print exécutés au démarrage de ton script.

    Supprime les parenthèses et ça ira mieux.

    Effectivement, j'avais pas précisé que les 2 print s'exécutaient au démarrage. Maintenant, sans les parenthèses, ils ne s'exécutent que lorsque je clique sur les boutons.

    Merci beaucoup pour cette aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Conception] Deux codes identique mais un qui fonctionne pas
    Par fabrice88 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/08/2006, 17h25
  2. fonction ridicule qui fonctionne pas sous firefox
    Par Isses dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/06/2006, 12h08
  3. [VBA-E] Undo après action bouton ne fonctionne pas
    Par TicTacToe dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/04/2006, 12h53
  4. fonction plpgsql qui fonctionne pas...
    Par Empty_body dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/01/2006, 18h22
  5. [Applet+Threads] Pause et resume qui fonctionne pas
    Par MinsK dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 29/11/2005, 18h39

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