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 :

Passage d'un canevas en paramètre


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 27
    Points : 12
    Points
    12
    Par défaut Passage d'un canevas en paramètre
    Bonjour à tous,
    j'aurais voulu savoir, est-il possible de passer un canevas en paramètre d'une fonction ?
    Voici un petit bout de mon programme qui, bizarrement ne fonctionne pas:
    [QUOTE]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # -*- coding: cp1252 -*-
    import fondecran
    import Tkinter
    def init():
        """
        """
        global fond,plateau
        plateau=Tkinter.Tk()
        plateau.geometry('1000x800') #Définition des dimensions de la fenetre
     
       fond =Tkinter.Canvas(plateau, width=1000, height=600,background='black') 
        fondecran.afficherfondecran(fond)
        plateau.mainloop()
    ma fonction afficherfondecran:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def afficherfondecran(fond):
        """
        """
        print ChoixFondEcran(LectureFichierFondEcran('entree.txt'))
        a,b,c=dimensionsfondecran(ChoixFondEcran(LectureFichierFondEcran('entree.txt')))
     
        fond.create_image(b/2,c/2,image=a)
        fond.place(relx=0,rely=0)
        return
    ma fonction de dimensionnement marche mais impossible de visualiser l'image... des idées ?
    EDIT:Excusez-moi pour les balises, je n'avais pas compris comment cela marchait

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 333
    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 333
    Points : 36 853
    Points
    36 853
    Par défaut
    Salut,
    Il est possible de passer n'importe quel objet en paramètre d'une fonction.
    Un canvas étant un objet particulier, çà ne fait pas exception.
    Si vous ne prenez pas le soin de poster le code entre les balises code.../code, l'indentation est perdue (voir le #) dans le menu.
    C'est fort dommage lorsqu'il s'agit de script Python car on ne peut pas comprendre ce que vous faites.
    - W

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    Autre chose que j'ai oublié de préciser même si cela me semble évident, ma fonction afficherfondecran est contenu dans un module fondecran que j'importe. Mon soucis est ici de faire fonctionner correctement le passage en paramètre du canevas et l'affichage du canevas qui s'afficher mais sans mon image

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

    Image doit rester "référencé" tant qu'elle est utilisée par l'item construit par .create_image.

    Modifiez votre code ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def afficherfondecran(fond):
        """
        """
        print ChoixFondEcran(LectureFichierFondEcran('entree.txt'))
        a,b,c = dimensionsfondecran(ChoixFondEcran(LectureFichierFondEcran('entree.txt')))
        fond._image = a
        fond.create_image(b/2,c/2,image=fond._image)
        fond.place(relx=0,rely=0)
        return
    - W

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    Ca marche! merci beaucoup pour votre aide, ça fait 2 semaines que je bloquais là-dessus

    Bonne soirée

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

Discussions similaires

  1. [FLASH 8] Pb passage d'une fonction en paramètre
    Par segphault dans le forum Flash
    Réponses: 2
    Dernier message: 17/02/2006, 11h14
  2. Passage de tableau dynamique en paramètre
    Par Didier L dans le forum Langage
    Réponses: 3
    Dernier message: 08/09/2005, 23h04
  3. Passage d'une requete en paramètre dans un delete
    Par jlamazou dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/08/2005, 17h58
  4. Réponses: 6
    Dernier message: 26/07/2005, 10h20
  5. Réponses: 7
    Dernier message: 18/05/2005, 15h09

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