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 :

Probleme d'interactivité, débute en POO merci de bien vouloir m'aider


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Probleme d'interactivité, débute en POO merci de bien vouloir m'aider
    voila, je veux faire un programme ou l'on crée des bonhomes, en 3 partie:
    -tete
    -corps
    -jambes

    enfin c'est une programme tout simple, vous verez vite.
    Le problème c'est que je n'arrive pas a faire le lien entre mes bouton et mes image qui sont censées se changer instantanément.

    Merci de bien vouloir terminer mon programme(il n'y a pas grand chose a faire) que je vois comment cela fonctionne =)

    voila ou j'en suis:
    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
     
    #-*-coding:Latin-1*-
    from Tkinter import*
     
    def effacer():
     
    	photo2=PhotoImage(file="image_projet/"+'femme'+tete+'.gif')
    	photo3=PhotoImage(file="image_projet/"+'femme'+corps+'.gif')
    	photo4=PhotoImage(file="image_projet/"+'femme'+tete+'.gif')
    	print "def"
    	fen1.mainloop()
    #=====================================================================================================
    fen1=Tk()
    fen1.geometry("800x600")
     
    pane=PanedWindow(orient=HORIZONTAL) ;
    pane.pack(expand="yes",fill="both")
     
    left=Label(pane,width=65)
    right=Label(pane)
    pane.add(left)
    pane.add(right)
     
    #-------------------- le sexe
    lesexe= Label(right,text="Choix du sexe:")
    lesexe.pack()
    sexe="homme"
    rsexe1=Radiobutton(right,text="homme",variable=sexe,value="homme")
    rsexe2=Radiobutton(right,text="femme",variable=sexe,value="femme")
    rsexe1.pack()
    rsexe2.pack()
    #-------------------- la tete
    latete= Label(right,text="Choix de la tete:")
    latete.pack()
    tete="tete1"
    rtete1=Radiobutton(right,text="tete 1",variable=tete,value="tete1")
    rtete2=Radiobutton(right,text="tete 2",variable=tete,value="tete2")
    rtete1.pack()
    rtete2.pack()
    #-------------------- le corps
    lecorps= Label(right,text="Choix du corps:")
    lecorps.pack()
    corps="corps1"
    rcorps1=Radiobutton(right,text="corps 1",variable=corps,value="corps1")
    rcorps2=Radiobutton(right,text="corps 2",variable=corps,value="corps2")
    rcorps1.pack()
    rcorps2.pack()
    #-------------------- les jambes
    lesjambes= Label(right,text="Choix des jambes:")
    lesjambes.pack()
    jambes="jambes1"
    rjambes1=Radiobutton(right,text="jambes 1",variable=jambes,value="jambes1")
    rjambes2=Radiobutton(right,text="jambes 2",variable=jambes,value="jambes2")
    rjambes1.pack()
    rjambes2.pack()
    #--------------------
    photo2=PhotoImage(file="image_projet/"+sexe+tete+'.gif')
    labl = Label(left, image=photo2)
    labl.pack(side=BOTTOM)
     
    photo3=PhotoImage(file="image_projet/"+sexe+corps+'.gif')
    labl = Label(left, image=photo3)
    labl.pack(side=BOTTOM)
     
    photo4=PhotoImage(file="image_projet/"+sexe+tete+'.gif')
    labl = Label(left, image=photo4)
    labl.pack(side=BOTTOM)
     
    sonprenom= Label(right,text="prénom:")
    sonprenom.pack()
     
    textcolor="black"
     
    if sexe=="femme":
    	textcolor="magenta"
    if sexe=="homme":
    	textcolor="blue"
     
    saisie=StringVar() 
     
    lb1= Label(left,textvariable=saisie,width=30,foreground=textcolor)
    ent=Entry(right,textvariable=saisie,width=30)
    ent.pack()
    lb1.pack(side=TOP)
     
    programmeur= Label(right,text="program by LD")
    programmeur.pack(side=BOTTOM)
     
     
    bou1=Button(right,text='Quitter',command=fen1.destroy)
    bou1.pack(side=BOTTOM)
     
     
    bou3=Button(right,text='test effacer',command=effacer)
    bou3.pack(side=BOTTOM)
     
    fen1.mainloop()
    #--------------------------------------------------------------------
    Vous aurez compris que mes image s'appelent:

    -hommetete1.gif
    -hommetete2.gif
    -femmetete1.gif
    -femmetete2.gif

    -homme corps1.gif
    - ...


    lorsque mon probleme d'interactivité sera réglé je pourais continuer.
    Voila merci d'avance, n'hésité pas a me posé des question.
    Bonne soirée =)

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Aidez moi svp ...
    J'en ai besoin

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 181
    Points : 199
    Points
    199
    Par défaut
    Salut,

    Bon, il y a vraiment beaucoup de choses qui doivent être modifiées.
    As-tu déjà entendu parler de la programmation évènementielle ? On ne peut pas écrire des programmes avec une interface graphique comme on écrit des programmes en mode console : en effet il faut pouvoir détecter quand l'utilisateur fait une action (clique...) sur tel élément (bouton, bouton radio...)

    Le chapitre 9 de ce tutoriel Python explique les bases de la programmation d'interfaces graphiques avec Tkinter :
    http://python.developpez.com/cours/apprendre-python3/

    Autre point important, les boutons radios ne peuvent pas être liés à de simples variables, ce sont des objets-variables spéciales (et typées), qu'on doit instancier depuis une classe, telle que StringVar(), BooleanVar(), IntVar()...

    Commence par comprendre ce petit programme :

    Code Python : 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
     
    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
     
    from Tkinter import *
     
     
    def afficherSexe():
    	# Change le texte du label avec le contenu de la variable sexe
    	# sexe étant un objet et non une simple variable, on accède à
    	# son contenu avec la méthode .get()
    	lab_choix.configure(text="sexe vaut : %s !" % sexe.get())
     
    root = Tk()
     
    Label(root, text="Choisir :").pack()
     
    # variable spéciale, liée aux boutons radios
    sexe = StringVar()
     
    # chaque bouton à une commande correspondant à une fonction afficherSexe()
    # qui est appelée quand on clique sur le bouton
    radio_h = Radiobutton(root, text="homme", variable=sexe, value="homme", command=afficherSexe)
    radio_h.pack()
     
    radio_f = Radiobutton(root, text="femme", variable=sexe, value="femme", command=afficherSexe)
    radio_f.pack()
     
    lab_choix = Label(root, text="")
    lab_choix.pack()
     
    root.mainloop()

    Plus d'informations sur le widget Radiobutton :
    http://effbot.org/tkinterbook/radiobutton.htm
    <3 Debian
    [ C | C++ | PHP | Python ]

Discussions similaires

  1. Probleme Affichage d'un vecteur POO
    Par karimot dans le forum C++
    Réponses: 1
    Dernier message: 29/12/2013, 00h08
  2. Probleme dans chargement de table ORACLE9i merci
    Par MAXJEREM dans le forum Oracle
    Réponses: 9
    Dernier message: 26/01/2010, 19h02
  3. besoin d'aide merci de bien m'aider
    Par shs_pro dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/06/2007, 10h27
  4. [POO] Suis-je bien parti pour de la POO ?
    Par djedie dans le forum Langage
    Réponses: 9
    Dernier message: 19/04/2007, 16h54

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