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 :

width canvas et width text


Sujet :

Tkinter Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut width canvas et width text
    Bonjour et merci à qui pourra m'éclairer...

    Voici un petit script pour l'exemple :

    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
    # -*- coding:Latin-1 -*-
     
    from Tkinter import *
     
    # Création de la fenêtre:
    fen=Tk()
    # Mes variables :
    largeur=200
    hauteur=30
    # Création d'un Canvas :
    can=Canvas(fen,width=largeur,height=hauteur,bg='light yellow')
    can.grid()  
    # Création d'un widget Text que j'installe sur le Can :		
    text = Text(can,width=18,height=1,font=('Courier New',12))
    text.insert(END,'ESSAI')
    item = can.create_window(largeur/2,hauteur/2, window=text)
     
    # J'installe des bouttons:
    bou = Button(fen,text='Quitter', command=fen.quit)
    bou.grid()
     
    fen.mainloop()
    Je souhaite en fait que mon widget text occupe la quasi-totalité du canvas.
    et je ne comprends pas pourquoi le "width" du canvas et aussi différent de celui du text. D'autre part la largeur du widget text varie en fonction de la taille de la police.
    Mon programme devra par la suite crée plusieurs canvas de ce type avec des largeurs différentes. C'est pourquoi il m'est important de comprendre ce problème.

    D'avance merci.

  2. #2
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Points : 388
    Points
    388
    Par défaut
    Bonjour,
    La largeur de ton widget text est en nombre de caractères. Il est normal qu'elle change en fonction de la taille de la police ... La hauteur détermine le nbre de lignes.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    Merci pour la réponse. Cela va m'aider.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    Rebonjour, c'est encore moi ...

    Je reviens sur ce problème de dimensions concernant un widget text.
    J'ai bien compris qu'elles sont exprimées en fonction du nombre de caractères et non pas de pixels.
    Mon problème est que l'utilisateur peut changer le nom de la police. Comment faire dans ce cas pour que le widget text ne change pas les dimensions imposées au départ ?

    D'avance merci.

  5. #5
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Points : 388
    Points
    388
    Par défaut
    Bonne question ...
    A mon avis, la seule solution est d'utiliser place() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    myText=Text(parent,width=100)
    myText.place(anchor=NW)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    Merci pour la réponse. J'essaie et te tiens au courant.

Discussions similaires

  1. Remplacer width:100%; par width:460px;
    Par tmlpqsdpmdlc dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 02/06/2015, 20h36
  2. Impossibilité de mettre une width à un bloc de texte
    Par brice97431 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 13/02/2014, 11h45
  3. Gnome Canvas et Rich Text
    Par prgasp77 dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 24/09/2009, 09h58
  4. Width et min-width
    Par Gregory.M dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/08/2008, 14h13
  5. Réponses: 2
    Dernier message: 29/08/2006, 16h18

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