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 :

déplacement auto dans un canevas


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 déplacement auto dans un canevas
    Bonjour à tous.
    Pour les pro de tkinter:
    J'ai un code qui dessine une droite dans un canevas. Cette droite est plus grande que le canevas et il y a donc deux ascenseurs pour se déplacer.
    Comment faire pour que le code déplace automatiquement l'affichage pour que l'on voit le point B au lieu du point A?

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #!/usr/bin/python3.2
    # -*- coding: utf-8 -*-
     
    from tkinter import *
    root=Tk()
    F1=LabelFrame(root)
    F1.grid(row=1,column=0)
     
    # création de deux ascenseurs vert et horiz sur F1
    xscrollbar = Scrollbar(F1, orient=HORIZONTAL) # ascenseur horiz. sur F1
    xscrollbar.grid(row=2, column=0, sticky=E+W)
     
    yscrollbar = Scrollbar(F1)                    # ascenseur vert. sur F1
    yscrollbar.grid(row=1, column=1, sticky=N+S)
     
    # création canevas can1 sur F1
    can1 = Canvas(F1, bd=0, scrollregion=(0, 0, 1000, 1000), 
                  width=300,height=200,
                  xscrollcommand=xscrollbar.set,yscrollcommand=yscrollbar.set)
    can1.grid(row=1, column=0, sticky=N+S+E+W)
     
    xscrollbar.config(command=can1.xview)
    yscrollbar.config(command=can1.yview)
     
    # création bouton pour sortir
    bouQ=Button(F1,text='Quitter',command=root.quit,bg='blue')
    bouQ.grid(row=0,column=0,padx=5,pady=5)
     
    # dessine-moi une droite...
    can1.create_line(30,30,320,220)
    can1.create_text(15,15,text='A')
    can1.create_text(330,230,text='B')
     
    root.mainloop()
    root.destroy()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Il faut jouer avec .xview/.yview genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    can1.xview('moveto', 0.300)
    can1.yview('moveto', 0.200)
    0.300 est 300 / 1000 i.e. la coordonnée du point normalisee a la dimension de la scrollregion.

    En fait c'est ce qui est expédié par l’ascenseur au canvas.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  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
    Merci, je potasse la question, c'est parfait.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/04/2011, 15h04
  2. défilement auto dans un TStringGrid
    Par htristra dans le forum C++Builder
    Réponses: 2
    Dernier message: 16/07/2005, 13h22
  3. Ecriture auto dans un champ edit lors de la modif d'un autre
    Par KibitO dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 05/02/2005, 18h03
  4. Réponses: 9
    Dernier message: 02/02/2005, 15h52
  5. Texte dans un canevas
    Par Bernard M dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2002, 17h56

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