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 :

scrollbar d'un Label dans un Canvas


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 47
    Par défaut scrollbar d'un Label dans un Canvas
    Bonjour a tous.
    Un petit problème qui me titille depuis plusieurs jours:
    J'ai un canvas et dedans j'ai dessiné un cercle et ajouté un Label.
    Quand je fais agir l'ascenseur, le cercle se déplace mais pas le Label.
    Que faut-il faire pour que les deux se déplacent, en restant à distance égale l'un par rapport à l'autre?
    Merci.
    (Python 2.3, Windows XP)

    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
    from tkinter import *
     
    root = Tk()
     
    can = Canvas(root,bg="gold")
    can.grid(row=1,column=1)
     
    can.create_oval(10,10,125,125)
     
    lab1=Label(can,text='Salut')
    lab1.place(x=10,y=30)
     
    scl = Scrollbar(root,command=can.yview) 
    scl.grid(row=1,column=2,sticky=NS)
    root.mainloop()

  2. #2
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    le cercle appartient au canvas car il est créé avec la méthode create_oval du canvas. Le label n'appartient pas au canvas. Il faudrait créer tes textes avec la méthode create_text du canvas au lieu de créer une instance de Label.

    A+

    Pfeuh

    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
    from tkinter import *
     
    root = Tk()
     
    can = Canvas(root,bg="gold")
    can.grid(row=1,column=1)
    can.create_oval(10,10,125,125)
     
    #~ lab1=Label(can,text='Salut')
    #~ lab1.place(x=10,y=30)
    lab_id = can.create_text(10, 10, text='Salut', anchor="nw")
     
    scl = Scrollbar(root,command=can.yview)
    scl.grid(row=1,column=2,sticky=NS)
    root.mainloop()

  3. #3
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 47
    Par défaut
    Ok,merci, parfait.
    Mais alors comment faire pour attacher une TopLevel sur le texte?
    Ce que je veux faire: Etablir une liste de nom et afficher la photo de ces noms en passant la souris dessus. donc methode Bind qui ne fonctionne pas sur .create_text

    Ave-vous une solution?
    merci

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Citation Envoyé par develuc Voir le message
    Ave-vous une solution?
    Oui.

    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
    from tkinter import *
     
    def enterTag(obj, id):
        root.title(id)
     
    def leaveTag(obj, id):
        root.title('')
     
    root = Tk()
    can = Canvas(root,bg="gold")
    can.grid(row=1,column=1)
    can.create_oval(10,10,125,125)
    for index in range(1, 11):
        lab_id = can.create_text(10, 20 * index, text='label_%02i'%index, anchor="nw")
        can.tag_bind ( lab_id, '<Enter>', lambda obj=can, id=lab_id:enterTag(obj, id))
        can.tag_bind ( lab_id, '<Leave>', lambda obj=can, id=lab_id:leaveTag(obj, id))
    scl = Scrollbar(root,command=can.yview)
    scl.grid(row=1,column=2,sticky=NS)
    root.mainloop()

  5. #5
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 47
    Par défaut
    MERCI.
    Formidable. Maintenant,à moi de comprendre!

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 280
    Par défaut
    Merci,

    J'ai le même genre de problème mais avec des lignes (taggées), dans une fenêtre Text.

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

Discussions similaires

  1. Scrollbar dans un canvas
    Par nwktotof dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 03/07/2009, 12h04
  2. Ajout dynamique de label dans un panel avec scrollbar
    Par teddy_bear dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 25/06/2009, 16h48
  3. Deformer une Police dans un Canvas
    Par zarbydigital dans le forum Langage
    Réponses: 2
    Dernier message: 10/11/2005, 10h51
  4. Probleme ajout label dans une fenetre
    Par sorry60 dans le forum GTK+ avec C & C++
    Réponses: 11
    Dernier message: 05/11/2005, 17h51
  5. Label dans /etc/fstab
    Par domileg dans le forum Administration système
    Réponses: 5
    Dernier message: 02/12/2004, 16h05

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