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

  1. #1
    Membre du Club
    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
    Points : 46
    Points
    46
    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 expérimenté
    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
    Points : 1 351
    Points
    1 351
    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 du Club
    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
    Points : 46
    Points
    46
    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 expérimenté
    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
    Points : 1 351
    Points
    1 351
    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 du Club
    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
    Points : 46
    Points
    46
    Par défaut
    MERCI.
    Formidable. Maintenant,à moi de comprendre!

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

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

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

  7. #7
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour PyNub,

    Le Widget Text n'as rien a voir avec un Canvas.
    Merci de faire un nouveau sujet.

    @+

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 280
    Points : 149
    Points
    149
    Par défaut
    un peu quand même puisque je veux faire la même chose que :
    Etablir une liste de nom et afficher la photo de ces noms en passant la souris dessus.
    mais avec des lignes de texte au lieu d'une image.
    mais je ferai un nouveau sujet.

    Avec mes excuses.

  9. #9
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Citation Envoyé par PyNub Voir le message
    un peu quand même puisque je veux faire la même chose que :

    mais avec des lignes de texte au lieu d'une image.
    mais je ferai un nouveau sujet.

    Avec mes excuses.
    Pas de souci: Dans l'attente de vous lire

+ 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