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

GUI Python Discussion :

python: supprimer des widgets affichés par une fonction dans une fenêtre


Sujet :

GUI Python

  1. #1
    Membre régulier
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 164
    Points : 100
    Points
    100
    Par défaut python: supprimer des widgets affichés par une fonction dans une fenêtre
    salut,

    dans le but d'actualiser une fenêtre, j'ai tenté de supprimer les widgets qui sont affichés par une fonction en utilisant destroy().
    ça marche pour des widgets et pas pour un autre.

    voici l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python27\ArcGIS10.1\lib\lib-tk\Tkinter.py", line 1410, in __call__
        return self.func(*args)
      File "C:\Users\noura\Desktop\au forum.py", line 77, in actualiser
        labelframe1.destroy()
    NameError: global name 'labelframe1' is not defined
    le code:

    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
    import Tkinter
    from Tkinter import *
    import Tix
    from Tix import *
    import ttk
    from ttk import *
    import tkFont
     
    class statistiques (Tk):
        def __init__(self):
            Tk.__init__(self)
            self.geometry('530x350')
            self.resizable(0,0)
            self.initialize()
     
        def initialize (self):
            police=tkFont.Font(self,weight='bold')
     
            self.grid()
     
     
            def exeA():
     
                def var6(evt):
                   global v6
                   print varcombo6.get()
                   v6= varcombo6.get()
                   if v6.startswith('TA'):
                       def var7(evt):
                           global v7
                           print varcombo7.get()
                           v7= varcombo6.get()
                       labelframe1=LabelFrame(self,text=v6,height=200,width=200)
                       labelframe1.grid(row=4,columnspan=3,padx=10,pady=10,sticky=NW)
     
                       txt2=Label(labelframe1, text='Choisir la deuxième année agricole :')
                       txt2.grid(row=5,pady=10,sticky=NW)
     
                       txt5=Label(labelframe1, text='Année de la compagne agricole :')
                       txt5.grid(row=6,pady=10,sticky=NW)
                       varcombo7 = Tix.StringVar()
                       combo7 = Tix.ComboBox(labelframe1, editable=1, dropdown=1,variable=varcombo7, command = var7)
                       combo7.entry.config(state='readonly')  ## met la zone de texte en lecture seule
                       combo7.insert(1, '2010-2011')
                       combo7.insert(2, '2011-2012')
                       combo7.insert(3, '2012-2013')
                       combo7.insert(4, '2013-2014')
                       combo7.grid(row=6,column=1,columnspan=2,pady=10,padx=5,sticky=NW)        
     
                txt4=Label(self, text='Requête par année agricole ',font=police)
                txt4.grid(row=0,columnspan=3,pady=5,sticky=NW)
     
                txt3=Label(self, text='Type de requête :')
                txt3.grid(row=3,pady=10,sticky=NW)
                varcombo6 = Tix.StringVar()
                combo6 = Tix.ComboBox(self, editable=1, dropdown=1,variable=varcombo6, command = var6)
                combo6.entry.config(state='readonly')  ## met la zone de texte en lecture seule
                combo6.insert(1, 'Production')
                combo6.insert(2, 'TA de production')
                combo6.grid(row=3,column=1,pady=10,sticky=NW)
     
                afficher1=Button(self,text='?', command=None)
                afficher1.place(x=350,y=320)
     
     
     
                def actualiser():
     
                   afficher1.destroy()
                   combo6.destroy()
                   txt3.destroy()
                   txt4.destroy()
                   labelframe1.destroy()
     
                update=Button(self, text='Actualiser', command=actualiser)
                update.place(x=250,y=320)
     
     
            # definition des menus    
            menubar = Menu(self)
     
            prodmenu=Menu(menubar,tearoff=0)
            prodmenu.add_command(label='Trimestre', command=None)
            prodmenu.add_command(label='Année ', command=exeA)
            menubar.add_cascade(label='Production', menu=prodmenu)
            self.config(menu = menubar)
     
     
            fermer=Button(self, text='Fermer', command=self.destroy)
            fermer.place(x=450,y=320)
    statistiques().mainloop()
    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par noramokh Voir le message
    salut,

    dans le but d'actualiser une fenêtre, j'ai tenté de supprimer les widgets qui sont affichés par une fonction en utilisant destroy().
    ça marche pour des widgets et pas pour un autre.

    voici l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NameError: global name 'labelframe1' is not defined
    merci d'avance
    Bonjour,

    la réponse est devant votre nez : labelframe1 n'a pas été déclarée dans le scope de la fonction exeA(), elle est donc locale à la fonction var6().

    il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            def exeA():
     
                def var6(evt):
                   global v6, labelframe1
    @+.

  3. #3
    Membre régulier
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 164
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par tarball69 Voir le message
    Bonjour,

    la réponse est devant votre nez : labelframe1 n'a pas été déclarée dans le scope de la fonction exeA(), elle est donc locale à la fonction var6().

    il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            def exeA():
     
                def var6(evt):
                   global v6, labelframe1
    @+.
    j'ai fait ce que vous m'avez dit, ça n'affiche pas une erreur mais n'a pas supprimer le widget

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par noramokh Voir le message
    j'ai fait ce que vous m'avez dit, ça n'affiche pas une erreur mais n'a pas supprimer le widget
    En êtes-vous sûre ? Je viens de tester chez moi et ça fonctionne parfaitement.

    @+.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par noramokh Voir le message
    j'ai fait ce que vous m'avez dit, ça n'affiche pas une erreur mais n'a pas supprimer le widget
    Voici une autre approche de votre programme :

    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
    157
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
     
    from Tkinter import *
    from Tix import *
    import ttk
     
    class Statistiques (Tk):
     
        def __init__(self):
            # superclass inits
            Tk.__init__(self)
            # main window inits
            self.title("Statistiques")
            self.geometry("530x350")
            self.resizable(width=False, height=False)
            # widget inits
            self.init_widget()
        # end def
     
        def init_widget (self):
            "mise en place de l'interface GUI"
            # init menu
            self.init_menu()
            # init mainframe - conteneur principal
            self.mainframe = Frame(self)
            self.mainframe.grid(row=0, column=0, sticky=NW+SE, padx=5, pady=5)
            # init exercice trimestriel
            self.init_exercice_trimestriel()
            # init exercice annuel
            self.init_exercice_annuel()
            # bouton quitter
            Button(
                self, text="Quitter", command=self.destroy
            ).grid(row=1, column=0, sticky=E, padx=5, pady=5)
            # layout inits
            self.rowconfigure(0, weight=1)
            self.columnconfigure(0, weight=1)
        # end def
     
        def init_menu (self):
            "définition des menus"
            topmenu = Menu(self)
            prodmenu = Menu(topmenu, tearoff=0)
            prodmenu.add_command(
                label='Trimestre',
                command=self.afficher_exercice_trimestriel
            )
            prodmenu.add_command(
                label='Année',
                command=self.afficher_exercice_annuel
            )
            topmenu.add_cascade(
                label='Production',
                menu=prodmenu
            )
            self.configure(menu=topmenu)
        # end def
     
        def init_exercice_trimestriel (self):
            "frame de gestion exercice trimestriel"
            # init frame
            _frame = self.frame_exercice_trimestriel = Frame(self.mainframe)
            # init notebook
            _nbk = ttk.Notebook(_frame)
            _nbk.pack(expand=1, fill=BOTH)
            # init tab
            _tab1 = ttk.Frame(_nbk, padding="10")
            # dummy data
            Label(
                _tab1, text="mettez ici \n ce que bon \n vous semble"
            ).pack(expand=1, fill=BOTH)
            # add tab to notebook
            _nbk.add(_tab1, text="Titre 1")
            # init tab
            _tab2 = ttk.Frame(_nbk, padding="10")
            # dummy data
            Label(
                _tab2, text="mettez ici \n ce que bon \n vous semble"
            ).pack(expand=1, fill=BOTH)
            # add tab to notebook
            _nbk.add(_tab2, text="Titre 2")
            # init tab
            _tab3 = ttk.Frame(_nbk, padding="10")
            # dummy data
            Label(
                _tab3, text="mettez ici \n ce que bon \n vous semble"
            ).pack(expand=1, fill=BOTH)
            # add tab to notebook
            _nbk.add(_tab3, text="Titre 3")
        # end def
     
        def init_exercice_annuel (self):
            "frame de gestion exercice annuel"
            # init frame
            _frame = self.frame_exercice_annuel = Frame(self.mainframe)
            # init notebook
            _nbk = ttk.Notebook(_frame)
            _nbk.pack(expand=1, fill=BOTH)
            # init tab
            _tab1 = ttk.Frame(_nbk, padding="10")
            # dummy data
            Label(
                _tab1, text="mettez ici \n ce que bon \n vous semble"
            ).pack(expand=1, fill=BOTH)
            # add tab to notebook
            _nbk.add(_tab1, text="Production")
            # init tab
            _tab2 = ttk.Frame(_nbk, padding="10")
            # init contenu tab2
            ttk.Label(_tab2, text='Année de la campagne agricole :').pack(pady=5)
            # init variable de contrôle
            self.cvar_annees_TA = StringVar()
            # init combobox
            combo = ComboBox(
                _tab2,
                editable=0,
                dropdown=1,
                variable=self.cvar_annees_TA,
                command=None # à compléter ----------- TODO - FIXME
            )
            combo.entry.config(state='readonly')  # met la zone de texte en lecture seule
            combo.insert(1, '2010-2011')
            combo.insert(2, '2011-2012')
            combo.insert(3, '2012-2013')
            combo.insert(4, '2013-2014')
            combo.pack(pady=5)
            # add tab to notebook
            _nbk.add(_tab2, text="TA de production", sticky=NW)
        # end def
     
        def afficher_exercice_trimestriel (self):
            "afficher l'exercice trimestriel"
            self.switch_to(self.frame_exercice_trimestriel)
        # end def
     
        def afficher_exercice_annuel (self):
            "afficher l'exercice annuel"
            self.switch_to(self.frame_exercice_annuel)
        # end def
     
        def switch_to (self, content):
            "basculer vers un autre contenu"
            for widget in self.mainframe.winfo_children():
                widget.pack_forget()
            # end for
            # on affiche le nouveau contenu
            content.pack(expand=1, fill=BOTH, in_=self.mainframe)
        # end def
     
    # end class Statistiques
     
    if __name__ == "__main__":
     
        Statistiques().mainloop()
     
    # end if
    Copiez-collez dans un fichier script de test et voyez si cela vous convient.

    @+.

  6. #6
    Membre régulier
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 164
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par tarball69 Voir le message
    En êtes-vous sûre ? Je viens de tester chez moi et ça fonctionne parfaitement.

    @+.
    voilà le code que j’exécute, quelle est la différence entre ça et ce que vous exécutez? je travail sur python 2.7
    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
    import Tkinter
    from Tkinter import *
    import Tix
    from Tix import *
    import ttk
    from ttk import *
    import tkFont
     
    class statistiques (Tk):
        def __init__(self):
            Tk.__init__(self)
            self.geometry('530x350')
            self.resizable(0,0)
            self.initialize()
     
        def initialize (self):
            police=tkFont.Font(self,weight='bold')
     
            self.grid()
     
     
            def exeA():
                def var6(evt):
                   global v6,labelframe1
                   print varcombo6.get()
                   v6= varcombo6.get()
                   if v6.startswith('TA'):
                       global labelframe1
                       def var7(evt):
                           global v7
                           print varcombo7.get()
                           v7= varcombo6.get()
                       labelframe1=LabelFrame(self,text=v6,height=200,width=200)
                       labelframe1.grid(row=4,columnspan=3,padx=10,pady=10,sticky=NW)
     
                       txt2=Label(labelframe1, text='Choisir la deuxième année agricole :')
                       txt2.grid(row=5,pady=10,sticky=NW)
     
                       txt5=Label(labelframe1, text='Année de la compagne agricole :')
                       txt5.grid(row=6,pady=10,sticky=NW)
                       varcombo7 = Tix.StringVar()
                       combo7 = Tix.ComboBox(labelframe1, editable=1, dropdown=1,variable=varcombo7, command = var7)
                       combo7.entry.config(state='readonly')  ## met la zone de texte en lecture seule
                       combo7.insert(1, '2010-2011')
                       combo7.insert(2, '2011-2012')
                       combo7.insert(3, '2012-2013')
                       combo7.insert(4, '2013-2014')
                       combo7.grid(row=6,column=1,columnspan=2,pady=10,padx=5,sticky=NW)        
     
                txt4=Label(self, text='Requête par année agricole ',font=police)
                txt4.grid(row=0,columnspan=3,pady=5,sticky=NW)
     
                txt3=Label(self, text='Type de requête :')
                txt3.grid(row=3,pady=10,sticky=NW)
                varcombo6 = Tix.StringVar()
                combo6 = Tix.ComboBox(self, editable=1, dropdown=1,variable=varcombo6, command = var6)
                combo6.entry.config(state='readonly')  ## met la zone de texte en lecture seule
                combo6.insert(1, 'Production')
                combo6.insert(2, 'TA de production')
                combo6.grid(row=3,column=1,pady=10,sticky=NW)
     
                afficher1=Button(self,text='?', command=None)
                afficher1.place(x=350,y=320)
     
                def actualiser():
                   labelframe1.destroy()
     
                   afficher1.destroy()
                   combo6.destroy()
                   txt3.destroy()
                   txt4.destroy()
     
                update=Button(self, text='Actualiser', command=actualiser)
                update.place(x=250,y=320)
     
     
            # definition des menus    
            menubar = Menu(self)
     
            prodmenu=Menu(menubar,tearoff=0)
            prodmenu.add_command(label='Trimestre', command=None)
            prodmenu.add_command(label='Année ', command=exeA)
            menubar.add_cascade(label='Production', menu=prodmenu)
            self.config(menu = menubar)
     
     
            fermer=Button(self, text='Fermer', command=self.destroy)
            fermer.place(x=450,y=320)
    statistiques().mainloop()
    merci

  7. #7
    Membre régulier
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 164
    Points : 100
    Points
    100
    Par défaut
    je vous remercie infiniment pour le code, en fait j'ai essayé de simplifier un long code juste pour vous pouvez comprendre mon problème.
    mais vous me donnez une idée pour autre application. merci

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par noramokh Voir le message
    voilà le code que j’exécute, quelle est la différence entre ça et ce que vous exécutez? je travail sur python 2.7
    merci
    Aucune, en effet.

    Vous faites bien Menu > Production > Année puis Type de Requête > TA de Production et seulement après cliquer sur Actualiser ?

    Sinon, évidemment que labelframe1 n'existe pas, puisque vous ne le créez qu'au moment de lancer Type de Requête > TA de Production.

    En même temps, imbriquer autant de fonctions / sous-fonctions, ça ne peut que mener vers des bugs interminables à corriger.

    Peut-être devriez-vous initialiser vos widgets sans les afficher (comme dans le code exemple que je vous ai fourni) puis afficher / masquer ces widgets le moment venu ?

    Examinez plus en détail ce que j'ai écrit dans le code exemple que je vous ai fourni, il y a matière à afficher / masquer des pans entiers de widgets.

    @+.

  9. #9
    Membre régulier
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 164
    Points : 100
    Points
    100
    Par défaut
    j'ai fait exactement ce qui vous indiquez.

    je me demande s'il n'y pas de différence, pourquoi il ne fonctionne pas chez moi?. quelle est le problème exactement? j'aimerai bien avoir une réponse

    merci, je vais essayer de suivre votre conseil.

    merci encore

  10. #10
    Membre régulier
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 164
    Points : 100
    Points
    100
    Par défaut
    merci infiniment tarball69.

    j'ai reformulé mon code suivant vos indications et ça fonctionne bien.
    voilà le code:

    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
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
     
     
    import Tkinter
    from Tkinter import *
    import Tix
    from Tix import *
    import ttk
    from ttk import *
    import tkFont
     
    class statistiques (Tk):
        def __init__(self):
            Tk.__init__(self)
            self.geometry('530x350')
            self.resizable(0,0)
            self.init_widget()
        def init_widget(self):
     
            self.mainframe=Frame(self)
            self.mainframe.grid(row=0,column=0,sticky=NW+SE)
            self.init_exeT()
            self.init_exeA()
            # definition des menus    
            menubar = Menu(self)
            prodmenu=Menu(menubar,tearoff=0)
            prodmenu.add_command(label='Trimestre', command=self.affich_exeT)
            prodmenu.add_command(label='Année ', command=self.affich_exeA)
            menubar.add_cascade(label='Production', menu=prodmenu)
            self.config(menu = menubar)
     
            fermer=Button(self, text='Fermer', command=self.destroy)
            fermer.place(x=450,y=320)
            self.grid()
        def init_exeT(self):
            f1=self.frame_exeT=Frame(self.mainframe)
            label=Label(f1,text="salut")
            label.grid(row=10, column=10,sticky=NW)
        def init_exeA(self):
            f2=self.frame_exeA=Frame(self.mainframe)
            def var6(evt):
                global v6
                print varcombo6.get()
                v6= varcombo6.get()
                if v6.startswith('TA'):
                    def var7(evt):
                        global v7
                        print varcombo7.get()
                        v7= varcombo6.get()
                    labelframe1=LabelFrame(f2,text=v6,height=200,width=200)
                    labelframe1.grid(row=4,columnspan=3,padx=10,pady=10,sticky=NW)
     
                    txt2=Label(labelframe1, text='Choisir la deuxième année agricole :')
                    txt2.grid(row=5,pady=10,sticky=NW)
     
                    txt5=Label(labelframe1, text='Année de la compagne agricole :')
                    txt5.grid(row=6,pady=10,sticky=NW)
                    varcombo7 = Tix.StringVar()
                    combo7 = Tix.ComboBox(labelframe1, editable=1, dropdown=1,variable=varcombo7, command = var7)
                    combo7.entry.config(state='readonly')  ## met la zone de texte en lecture seule
                    combo7.insert(1, '2010-2011')
                    combo7.insert(2, '2011-2012')
                    combo7.insert(3, '2012-2013')
                    combo7.insert(4, '2013-2014')
                    combo7.grid(row=6,column=1,columnspan=2,pady=10,padx=5,sticky=NW)        
     
            txt4=Label(f2, text='Requête par année agricole ')
            txt4.grid(row=0,columnspan=3,pady=5,sticky=NW)
     
            txt3=Label(f2, text='Type de requête :')
            txt3.grid(row=3,pady=10,sticky=NW)
            varcombo6 = Tix.StringVar()
            combo6 = Tix.ComboBox(f2, editable=1, dropdown=1,variable=varcombo6, command = var6)
            combo6.entry.config(state='readonly')  ## met la zone de texte en lecture seule
            combo6.insert(1, 'Production')
            combo6.insert(2, 'TA de production')
            combo6.grid(row=3,column=1,pady=10,sticky=NW)
     
        def affich_exeT(self):
            self.switch_to(self.frame_exeT)
        def affich_exeA(self):
            self.switch_to(self.frame_exeA)
        def switch_to(self,content):
            for widget in self.mainframe.winfo_children():
                widget.grid_forget()
            # end for
            # on affiche le nouveau contenu
            content.grid( in_=self.mainframe)
     
    if __name__ == "__main__":
     
       statistiques().mainloop()
    je vais dire baybay à destroy()

    merci

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

Discussions similaires

  1. Appel d'une fonction dans une fonction d'une même classe
    Par script73 dans le forum Général Python
    Réponses: 3
    Dernier message: 06/03/2015, 10h18
  2. Réponses: 15
    Dernier message: 26/01/2015, 19h37
  3. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  4. Réponses: 2
    Dernier message: 25/09/2007, 20h03
  5. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04

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