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 :

Problème de Radiobutton


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 7
    Points : 11
    Points
    11
    Par défaut Problème de Radiobutton
    Bonsoir à tous,

    Je débute sur Python aussi bien que dans la programmation en général et j'ai besoins de créer un programme qui, depuis une fenêtre principale ouvre une seconde fenêtre, où l'on viens saisir diverses infos que l'on récupère sous forme de liste.

    Seulement, quelle que soit ma sélection, le radio button me renvois toujours une valeur nulle. Je ne comprends pas où est mon erreur, il me semble avoir compris que ça viens du fait que je n'utilise pas la programmation orientée objet, seulement je ne connais absolument pas ce type de programmation. Serait-il possible de résoudre mon problème sans passer par ce type de programmation ?
    Et sinon pouvais vous m'indiquer des sites ou des ouvrages qui me permettraient de me former à cette programmation ?
    Car après plusieurs heures de recherches je ne trouves toujours aucune solution.

    Merci d'avance pour vos réponses!

    je vous met le 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
    from Tkinter import *
    from tkMessageBox import *
     
     
    #definition des fonctions gestionnaires d'evenements
    def creationnouveauposte():
       global x
     
       fen2 = Tk()
       fen2.title('Creation Poste')
     
     
       'Saisies:'
     
       #Nom:
       nom = Label(fen2, text = 'Nom')
       Nom = Entry(fen2)
       nom.pack()
       Nom.pack()
     
     
       #Operateurs:
       ope = Label(fen2, text = 'Operateurs')
       Ope = Entry(fen2)
       ope.pack()
       Ope.pack()
     
       #Heures
       heu = Label(fen2, text = "Nombre d'heures")
       Heu = Entry(fen2)
       heu.pack()
       Heu.pack()
     
       #Organisation
       org= Label(fen2, text='Organisation')
       org.pack()
       Org=IntVar() 
       Radiobutton(fen2,variable=Org,text="1x8",value=1).pack(anchor=W)
       Radiobutton(fen2,variable=Org,text="2x8",value=2).pack(anchor=W)
       Radiobutton(fen2,variable=Org,text="3x8",value=3).pack(anchor=W)
     
       def Ficheposte():
           global x
           if Nom.get()=='':
               showwarning('Attention:','Un Nom de poste doit etre saisi !')
           if Ope.get()=='':
               showwarning('Attention:',"Le nombre d'operateurs doit etre saisi !")
           if Heu.get()=='':
               showwarning('Attention:',"Le nombre d'heures doit etre saisi !") 
           if Org.get()==0:
               showwarning('Attention:',"L'organisation doit etre renseignee !")
           else:    
               x.append(Nom.get())
               x.append(Ope.get())
               x.append(Heu.get())
               x.append(Org.get())
     
               print x
           fen2.destroy()    
     
       Bou3=Button(fen2,text='Valider',command=Ficheposte)
       Bou3.pack()
     
       fen2.mainloop()
     
     
    # Creation du widget principal :
    fen1=Tk()
    fen1.title("TIPE")
     
    #variables:
    x=[]
     
    # creation des widgets "esclaves" :
    bou1 = Button(fen1,text='Creer un nouveau poste',command=creationnouveauposte)
    bou1.pack(side=RIGHT)
    bou2 = Button(fen1,text='Quitter',command=fen1.quit)
    bou2.pack(side=BOTTOM)
     
    fen1.mainloop()        # demarrage du receptionnaire d'evenements
    fen1.destroy()

  2. #2
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par Lanzeray Voir le message
    Bonsoir à tous,

    Je débute sur Python aussi bien que dans la programmation en général et j'ai besoins de créer un programme qui, depuis une fenêtre principale ouvre une seconde fenêtre, où l'on viens saisir diverses infos que l'on récupère sous forme de liste.

    Seulement, quelle que soit ma sélection, le radio button me renvois toujours une valeur nulle. Je ne comprends pas où est mon erreur, il me semble avoir compris que ça viens du fait que je n'utilise pas la programmation orientée objet, seulement je ne connais absolument pas ce type de programmation. Serait-il possible de résoudre mon problème sans passer par ce type de programmation ?
    Et sinon pouvais vous m'indiquer des sites ou des ouvrages qui me permettraient de me former à cette programmation ?
    Car après plusieurs heures de recherches je ne trouves toujours aucune solution.

    Merci d'avance pour vos réponses!

    je vous met le 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
     
    from Tkinter import *
    from tkMessageBox import *
     
     
    #definition des fonctions gestionnaires d'evenements
    def creationnouveauposte():
       global x
     
       fen2 = Tk()
       fen2.title('Creation Poste')
     
     
       'Saisies:'
     
       #Nom:
       nom = Label(fen2, text = 'Nom')
       Nom = Entry(fen2)
       nom.pack()
       Nom.pack()
     
     
       #Operateurs:
       ope = Label(fen2, text = 'Operateurs')
       Ope = Entry(fen2)
       ope.pack()
       Ope.pack()
     
       #Heures
       heu = Label(fen2, text = "Nombre d'heures")
       Heu = Entry(fen2)
       heu.pack()
       Heu.pack()
     
       #Organisation
       org= Label(fen2, text='Organisation')
       org.pack()
       Org=IntVar() 
       Radiobutton(fen2,variable=Org,text="1x8",value=1).pack(anchor=W)
       Radiobutton(fen2,variable=Org,text="2x8",value=2).pack(anchor=W)
       Radiobutton(fen2,variable=Org,text="3x8",value=3).pack(anchor=W)
     
       def Ficheposte():
           global x
           if Nom.get()=='':
               showwarning('Attention:','Un Nom de poste doit etre saisi !')
           if Ope.get()=='':
               showwarning('Attention:',"Le nombre d'operateurs doit etre saisi !")
           if Heu.get()=='':
               showwarning('Attention:',"Le nombre d'heures doit etre saisi !") 
           if Org.get()==0:
               showwarning('Attention:',"L'organisation doit etre renseignee !")
           else:    
               x.append(Nom.get())
               x.append(Ope.get())
               x.append(Heu.get())
               x.append(Org.get())
     
               print x
           fen2.destroy()    
     
       Bou3=Button(fen2,text='Valider',command=Ficheposte)
       Bou3.pack()
     
       fen2.mainloop()
     
     
    # Creation du widget principal :
    fen1=Tk()
    fen1.title("TIPE")
     
    #variables:
    x=[]
     
    # creation des widgets "esclaves" :
    bou1 = Button(fen1,text='Creer un nouveau poste',command=creationnouveauposte)
    bou1.pack(side=RIGHT)
    bou2 = Button(fen1,text='Quitter',command=fen1.quit)
    bou2.pack(side=BOTTOM)
     
    fen1.mainloop()        # demarrage du receptionnaire d'evenements
    fen1.destroy()
    Bonsoir et bienvenu!
    Une petite chose pour commencer!! Il serait nettement plus lisible pour tout le monde que le code soit mis entre les balises "#" (bouton en haut à droite de la fenêtre d'édition) afin que les tabulations et les espaces apparaissent (et que le code puisse être recopié facilement)!
    Sinon, pour commencer dans les meilleures conditions possibles, un livre gratuit est disponible et constitue l'un (sinon le) meilleur commencement possible (et en français je vous prie)…
    Ici

    Et dans ce livre, il passe en revue une bonne partie des éléments de tkinter en particulier les boutons et les boutons radio…
    Voilà!
    Clodion

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Vous n'avez pas pu loupé de constater que Python est un langage on on écrit des "blocks" identifiés par l'indentation.
    Si vous postez du code sans utiliser la balise CODE (le # dans les boutons du menu d'édition), pas facile de lire votre code.
    Dommage, c'est quand même le sujet principal ;-(

    Citation Envoyé par Lanzeray
    Seulement, quelle que soit ma sélection, le radio button me renvois toujours une valeur nulle.
    Cette valeur est stockée dans un variable Org qui est un IntVar, elle est passée comme textvariable aux RadioButton.
    Après, je sais plus! Déjà avec plusieurs appels à "Tk()" vous cherchez les ennuis, mais il faudra voir lorsque vous aurez édité votre message pour y mettre la balise CODE.

    La seule chose que je peux vous proposer est quelque chose qui fonctionne:
    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
    import tkinter as tk
     
    def create_buttons(master):
        global var
        var = tk.IntVar()
        frame = tk.Frame(master)
     
        for ix in range(3):
            btn = tk.Radiobutton(frame, 
                    text='%dx8' % ix, 
                    variable=var, 
                    value=ix)
            btn.grid(row=ix)
        btn.select() # select last button
        return frame
     
    def show_value():
        global var
        print ('value: %d' % var.get())
     
    app = tk.Tk()
     
    w = create_buttons(app)
    w.pack()
     
    tk.Button(app, text='show value', command=show_value).pack()
     
    tk.mainloop()
    Votre code a une structure semblable: on crée IntVar et Radiobutton dans une fonction.
    Puis on a une action qui va afficher la valeur sélectionnée.

    Impossible de faire fonctionner cela sans que la variable associée à IntVar soit globale.
    Essayez! mettez en commentaire le global var de create_buttons, vous verrez ce qui se passe côté Radiobutton.

    - W

    Citation Envoyé par Clodion Voir le message
    Une petite chose pour commencer!! Il serait nettement plus lisible pour tout le monde que le code soit mis entre les balises "#" (bouton en haut à droite de la fenêtre d'édition) afin que les tabulations et les espaces apparaissent (et que le code puisse être recopié facilement)!
    Sinon, pour commencer dans les meilleures conditions possibles, un livre gratuit est disponible et constitue l'un (sinon le) meilleur commencement possible (et en français je vous prie)…
    Ici

    Et dans ce livre, il passe en revue une bonne partie des éléments de tkinter en particulier les boutons et les boutons radio…
    Alors ce soir c'est toi qui joue le gros méchant et moi le gentil.

    Ceci dit, je trouve plutôt osé de dire que le livre est gratuit.
    Techniquement, si on ne prend pas le temps de comprendre ce qui y est écrit et de pratiquer un peu en faisant les exos, il n'apportera rien.
    Et le temps qu'on va y passer sera loin d'être nul et peut être même source de conflit avec ses proches.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Alors ce soir c'est toi qui joue le gros méchant et moi le gentil.

    Ceci dit, je trouve plutôt osé de dire que le livre est gratuit.
    Techniquement, si on ne prend pas le temps de comprendre ce qui y est écrit et de pratiquer un peu en faisant les exos, il n'apportera rien.
    Et le temps qu'on va y passer sera loin d'être nul et peut être même source de conflit avec ses proches.
    Bonsoir,
    Hum… Mea culpa!
    Il n'y faut voir aucune mauvaise intention; juste un peu d'aide afin que le lecteur puisse s'y retrouver plus aisément! ;-)
    (Toutes mes excuses à Lanzeray si le ton s'est avéré quelque peu aigrelet )

    En effet, l'ouvrage de G. Swinnen n'est pas "gratuit", en premier lieu parce qu'il est seulement "libre" (bien que copyrighté); en second parce qu'il est disponible pour 30,78 € auprès de la librairie Eyrolles et cependant téléchargeable gratuitement dans le respect de la loi (je me rattrape bien, n'est-ce pas?).

    Et tout à fait en accord avec les précisions! Cela demande du temps, du travail (la lecture, même très attentive, n'est pas suffisante).

    En fait, si j'ai bien suivi le script, Lanzeray, lance deux interpréteurs Tk. C'est peu conseillé! La déclaration de la IntVar() semble rester dans l'espace du premier (et pas dans celui de Fen2 géré par le deuxième Tk et ainsi, y reste inaccessible ).

    En remplaçant, ligne 10
    par:
    cela passe mieux.

    D'autre part, afin de pré-positionner l'un des boutons radio, il suffit, dans la foulée, de donner une valeur à la variable Org (après la ligne 41):
    Cela devrait mieux fonctionner!
    Clodion

  5. #5
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Salut et bienvenue au néo-python,

    De la doc en voici en voila.

    Concernant Tkinter je connais un document, qui date certes un peu, mais qui est une collection de toutes les méthodes et options des différents widgets de Tkinter classé par widget et est exhaustif (pour la version 8.4) c'est une référence qui m'a beaucoup aider pour voir ce que l'on peut faire avec Tkinter (8.4).

    Tout y est sauf ce qui a été rajouter depuis:

    tkinter-8-4-reference interface utilisateur graphique gui pour python


    Au passage je suis tomber sur ça et je ne sais pas ce que ça vaut.

    Sinon il faut télécharger la documentation officielle de python qui contient entre autres, dans le document library, toutes les méthodes de la standart library fournis avec python.
    Et des tutoriels, les références du langage, des HOW-TO etc...

    -> Documentation officielle de python 3.3.

    Sur ceux bon python au néo-python et aux autres.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    Merci à tous de vos réponses rapides !


    Je suis désolé de ne pas vous avoir mis le code au bon format dès le début, mais je ne connaissais pas la fonction qui permettait de le faire, maintenant c'est chose faite

    Merci à tous pour la doc, je vais l'étudier afin d'être plus à l'aise, car je me rend compte que ce n'est pas aussi facile que l'utilisation de python que j'ai l'habitude de faire pour les maths! Je suis conscient que ça risque de me prendre du temps avant de maitriser convenablement, mais c'est intéressant, et comme c'est dans le cadre d'un projet de TIPE (projet en classe prépa), je ne pourrait pas m'y soustraire !

    Je vais essayer de même tous les conseils que vous m'avez donnés, même si j'avoue que je ne les comprends pas tous (ça viendra avec la doc et le travail), afin d'en ressortir un programme qui fonctionne, bien qu'il risque d'être rudimentaire !
    Je risque de vous poser d'autres questions triviales, et je vous tiens au courant de la manière dont le problème a été résolut

    Merci à tous de cet accueil chaleureux, de vos réponses claires et rapide, je suis content d'avoir découvert cette communauté !


    Lanzeray

  7. #7
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par Lanzeray Voir le message
    Merci à tous de vos réponses rapides !


    Je suis désolé de ne pas vous avoir mis le code au bon format dès le début, mais je ne connaissais pas la fonction qui permettait de le faire, maintenant c'est chose faite

    Merci à tous pour la doc, je vais l'étudier afin d'être plus à l'aise, car je me rend compte que ce n'est pas aussi facile que l'utilisation de python que j'ai l'habitude de faire pour les maths! Je suis conscient que ça risque de me prendre du temps avant de maitriser convenablement, mais c'est intéressant, et comme c'est dans le cadre d'un projet de TIPE (projet en classe prépa), je ne pourrait pas m'y soustraire !

    Je vais essayer de même tous les conseils que vous m'avez donnés, même si j'avoue que je ne les comprends pas tous (ça viendra avec la doc et le travail), afin d'en ressortir un programme qui fonctionne, bien qu'il risque d'être rudimentaire !
    Je risque de vous poser d'autres questions triviales, et je vous tiens au courant de la manière dont le problème a été résolut

    Merci à tous de cet accueil chaleureux, de vos réponses claires et rapide, je suis content d'avoir découvert cette communauté !


    Lanzeray
    Bonsoir,
    Pour les balises de code, c'est parfait!

    Par contre, il est vrai que j'ai sans doutes été quelque peu abscons.

    Lorsque l'on utilise des éléments de tkinter il faut toujours qu'il y ait une racine (un objet le plus "élevé", un objet parent ultime). Cette racine est une instance de la classe Tk.
    Il n'est pas toujours instancié explicitement (G. Swinnen le fait le plus souvent, sans-doutes dans un but didactique).

    Tkinter créé cet objet implicitement si le codeur ne le fait pas.
    Ainsi (ligne 68):
    Le créé explicitement, mais il aurait été tout aussi valide d'écrire:
    Dans ce cas, Tk est créé en automatiquement.

    Tous les composants qui sont créés par la suite vont dépendre, directement ou non, de cette instance de Tk.

    Lorsque une deuxième instance de Tk est créée, telle que dans le premier script, tout ce qui n'est pas explicitement déclaré comme contenu dans la deuxième instance appartiennent à la première instance (je ne connais pas de moyen de déclarer une variable tkinter explicitement dans une instance particulière de Tk).

    En bref, la variable "Org = IntVar()" n'est, par défaut, accessible que dans la première instance de Tk (i.e. fen1 dans le script).
    Ainsi, tous les widgets créés dans la première instance y ont accès, mais pas ceux de la deuxième instance (i.e. fen2 dans le script).

    Petit détail: dans un groupe de boutons radios liés à une variable tkinter (par l'option "variable = ma_var") l'affectation par "ma_var.set(x)" sélectionne le bouton radio dont l'option valeur est identique (value = x). Ainsi lors du premier affichage (avant qu'aucune action n'ait été effectuée) c'est ce bouton radio qui sera sélectionné.

    Pour créer une fenêtre n'étant pas localisée à l'intérieur du conteneur principal, instance de Tk (celui qui possède par défaut les décorateurs tels que "réduire, maximiser…"), il n'existe (à ma connaissance) que deux solutions:
    - Les messages qui sont utilisés dans le script.
    - Les fenêtres indépendantes (Toplevel). Celles-ci peuvent à leur tour contenir n'importe quel autre widget.

    C'est l'utilisation d'une de ces fenêtre indépendante que j'ai préconisé précédemment.

    Voilà…

    Clodion
    PS: s'il y a des erreurs, n'hésitez pas à corriger!!
    PS2: si les problèmes sont résolus, pensez au bouton "résolu". Merci d'avance

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par Lanzeray Voir le message
    Je suis désolé de ne pas vous avoir mis le code au bon format dès le début, mais je ne connaissais pas la fonction qui permettait de le faire, maintenant c'est chose faite
    En fait l'histoire de mettre des QUOTE est que sinon le "cut&paste" ne fonctionne pas: on récupère du texte sans les "indentations".
    On peut essayer de les remettre à la main: on a les débuts de blocs. Pour les if-then-else, çà devient plus sportif.
    Galère pour le lire.
    La bonne nouvelle est dans la première réponse de Clodion. Elle inclut votre message avec les indentations et le syntax-highligthing: cool!
    On peut vous lire: j'aime!


    Merci à tous pour la doc, je vais l'étudier afin d'être plus à l'aise, car je me rend compte que ce n'est pas aussi facile que l'utilisation de python que j'ai l'habitude de faire pour les maths! Je suis conscient que ça risque de me prendre du temps avant de maitriser convenablement, mais c'est intéressant, et comme c'est dans le cadre d'un projet de TIPE (projet en classe prépa), je ne pourrait pas m'y soustraire !
    Bon çà veut dire que vous avez un moteur pour entretenir la curiosité d'apprendre et que vous allez bientôt nous raconter de nouvelles aventures.
    Tant que nous pouvons lire facilement et y trouver quelque chose de compréhensible.

    - W
    PS: et c'est pas une raison pour oublier la balise CODE.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    Merci Clodion pour ces explications claires, qui me permettent de comprendre vos conseils donnés plus hauts. En effet je ne pensais pas que tkinter créé automatiquement cette racine, j'ai encore un peu de mal avec cette relation "maitre"/"esclave" mais ça viendra

    Lanzeray

  10. #10
    Membre actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Points : 215
    Points
    215
    Par défaut
    L’esclavagisme est bel et bien révolu (sauf celui des temps modernes) , persos , tout le monde a le droit d’être heureux ... Tu trouves pas ?
    _""""Cats have a big heart ^^ unlike some bad people (whose will never change in their brain) """

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

Discussions similaires

  1. Problème avec RadioButton
    Par souf_87 dans le forum Spring
    Réponses: 3
    Dernier message: 29/07/2011, 19h58
  2. problème avec radiobutton
    Par sky88 dans le forum VB.NET
    Réponses: 1
    Dernier message: 03/07/2009, 08h52
  3. Problème avec RadioButton dans une DataList
    Par luimême dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/11/2007, 10h54
  4. petit problème avec RadioButtons et event :-(
    Par Thundereagle dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 29/09/2007, 12h39

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