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 :

Aide fonction move Tkinter


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Aide fonction move Tkinter
    Bonjour quelle argument dx et dy dois je mettre pour deplacer librement mes formes
    Voici le code:

    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
    36
    37
     
    od=grille.create_oval(50,50,100,100,fill='black')
    og=grille.create_oval(850,50,800,100,fill='black')
    nez=grille.create_polygon(50,650,65,600,80,650,fill='black')    
    bouche=grille.create_oval(770,675,850,700,fill='black')
     
     
    def action(event):
        global x1,y1
        x1=event.x
        y1=event.y
        print("Click de souris en :", event.x,event.y)
     
    def click(event):
        global x1,y1
     
    def deplacer(event):
        global x1,y1
        x1=event.x
        y1=event.y
        a=grille.coords(og)
        if x1>a[0] and x1<a[2] and y1>a[1] and y1<a[3]:
            dx,dy=x1,y1
            grille.move(og,dx,dy)
        a=grille.coords(od)
        if x1>a[0] and x1<a[2] and y1>a[1] and y1<a[3]:
            dx,dy=x1,y1
            grille.move(od,dx,dy)
        a=grille.coords(nez)
        if x1>a[0] and x1<a[2] and y1>a[1] and y1<a[3]:
            dx,dy=x1,y1
            grille.move(nez,dx,dy)
        a=grille.coords(bouche)
        if x1>a[0] and x1<a[2] and y1>a[1] and y1<a[3]:
            dx,dy=x1,y1
            grille.move(bouche,dx,dy)
        return

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

    Les dx, dy de la méthode .move sont des déplacements: ils s'ajoutent à la position courante de l'item du canvas.
    Il existe une méthode .moveto permettant un placement absolu à la position x, y mais elle a été oubliée.
    Si vous voulez l'utiliser, il faut fabriquer son Canvas, par exemple, ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    from tkinter import *
     
    class MyCanvas(Canvas):
        def moveto(self, *args):
            self.tk.call((self._w, 'moveto') + args)

    note: Pout tout item (oval, rectangle,...) la méthode .bbox(item) retourne les coordonnées du rectangle/boîte qui englobe la figure. A partir de là on peut calculer un centre approximatif. Ce qui évite d'avoir à gérer la translation de toutes les 'coordonnées' dont le nombre (et le sens) est fonction de la figure (polygon peut en avoir beaucoup)

    - W

Discussions similaires

  1. aide fonction tri heapsort (création du tas)
    Par Invité dans le forum C
    Réponses: 6
    Dernier message: 24/11/2009, 00h27
  2. Aide fonction getopt
    Par makohsarah dans le forum C
    Réponses: 12
    Dernier message: 12/06/2006, 16h02
  3. demande info de la fonction move dans un module
    Par lechtifred dans le forum Access
    Réponses: 1
    Dernier message: 01/05/2006, 15h04
  4. aide fonction math[racine,cos(),sin(),..]VB6
    Par am.adnane dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/12/2005, 18h40
  5. besoin d'aide fonction avec fichier (debutant)
    Par boby61 dans le forum Débuter
    Réponses: 9
    Dernier message: 14/03/2005, 11h22

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