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

Python Discussion :

Récupérer la hauteur d'un canvas


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur thermiecien
    Inscrit en
    Avril 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur thermiecien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Récupérer la hauteur d'un canvas
    Bonjour,

    Dans un programme, j'ai crée un canvas de façon classique:

    can = Canvas(fen,bg='light yellow',height=ech*ca,width=ech*ca)

    mais je veux maintenant récuper la hauteur et la largeur du canvas: can.height ne fonctionne pas??

    Une idée?

    Merci d'avance,

    Paffou59

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

    Citation Envoyé par paffou59 Voir le message
    mais je veux maintenant récupérer la hauteur et la largeur du canvas: can.height ne fonctionne pas??
    On pourrait le faire fonctionner mais tkinter a été créé avant l'ajout des properties au langage Python.
    Ceci dit ce ne serait peut être pas une bonne idée car pour récupérer l'état d'un widget, tkinter est obligé d'exécuter une fonction qui interrogera la machine TCL/tk qui est derrière. Elle seule détient la vérité. Donc il faut faire:
    ou plus simple:
    Histoire d'exécuter la fonction qui va... plutôt que de lire quelque chose stocké "localement" (et pas forcément à jour).

    note: pour plus d'informations là dessus la documentation tkinter est un "plus".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur banc de test
    Inscrit en
    Mai 2014
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur banc de test
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 199
    Points : 482
    Points
    482
    Par défaut
    Bonjour,

    La syntaxe est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    canvas.winfo_height() # Return height of this widget
    canvas.winfo_width()
     
    canvas.winfo_reqheight() # Return requested height of this widget
    canvas.winfo_reqwidth()
    Dans le cas où la frame est trop petite la taille requise sera différente de la taille affichée.

    Citation Envoyé par http://effbot.org/tkinterbook/widget.htm#Tkinter.Widget.winfo_height-method
    winfo_height()

    Get the height of this widget, in pixels. Note that if the window isn’t managed by a geometry manager, this method returns 1. To you get the real value, you may have to call update_idletasks first. You can also use winfo_reqheight to get the widget’s requested height (that is, the “natural” size as defined by the widget itself based on it’s contents).

    Returns:
    The widget’s current height, in pixels.
    Toute la liste avec la description se trouve ici : http://effbot.org/tkinterbook/widget.htm

    Un site non officiel sur tkinter, l'un des plus complet sur le sujet, à la base écrit pour Python 2 mais mise à part certaines majuscules supprimées sur Python 3 la syntaxe n'a pas trop évoluée.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par YCL-1 Voir le message
    winfo_height()

    Get the height of this widget, in pixels. Note that if the window isn’t managed by a geometry manager, this method returns 1. To you get the real value, you may have to call update_idletasks first. You can also use winfo_reqheight to get the widget’s requested height (that is, the “natural” size as defined by the widget itself based on it’s contents).

    Returns:
    The widget’s current height, in pixels
    .
    Certes, certes... Mais ce qui est vrai pour Frame ne s'applique pas vraiment à un Canvas et d'autres widgets: il n'adapte pas ses dimensions au contenu.
    De plus, si on précise à un widget d'occuper un width x height donné, c'est peut être pour qu'il n'adapte pas ses dimensions au contenu (sauf si on force le geometry manager à... mais ce n'était pas la question).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur thermiecien
    Inscrit en
    Avril 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur thermiecien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merci!

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/02/2008, 09h00
  2. récupérer la hauteur de la zone d'affichage
    Par superpigeon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/11/2007, 16h45
  3. Réponses: 7
    Dernier message: 08/10/2007, 17h23
  4. Réponses: 11
    Dernier message: 25/02/2007, 01h56
  5. Réponses: 2
    Dernier message: 24/01/2007, 19h55

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