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 :

Lancer une commande lors du redimensionnement de la fenêtre


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 160
    Par défaut Lancer une commande lors du redimensionnement de la fenêtre
    Bonjour, le titre a tout dit ou presque:

    Comment lancer une commande lors du redimensionnement de la fenêtre avec la souris sous Tkinter?

    PS : J'ai essayé un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # -*- coding:Latin-1 -*-
     
    from Tkinter import *
    from ScrolledText import *
     
    def mafunc(event):
        print root.winfo_geometry()
     
    root = Tk()
    txt = ScrolledText(root)
    txt.pack()
    root.bind("<B1-Motion>", mafunc)
     
    root.mainloop()
    cela fonctionne uniquement quand le pointeur est à l'intérieur de la fenêtre, mais par sur les bords lorsqu'on la redimensionne.

    Merci.

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Voilà ton code modifié:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    from Tkinter import *
     
    root = Tk()
     
    def callback(event):
        print event.width, event.height
     
    frame = Frame(root, width=100, height=100)
    root.bind("<Configure>", callback)
    frame.pack()
     
    root.mainloop()
    Critères pour que ça marche:
    - pour avoir la taille de la fenêtre, le bind est à appliquer à la fenêtre (root) et pas à son contenu (Frame).
    - c'est "<Configure>" qui déclenchera les évènements
    - les valeurs cherchées sont dans event.width et event.height

    Tyrtamos

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 160
    Par défaut
    Merci, c'est exactement ce que je cherchais... il fallait juste trouver le "<Configure>".

    Cela me permettra peut être de régler mon problème de line width (que vous avez déjà regardé, merci encore!!) de façon détournée.

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Cela me permettra peut être de régler mon problème de line width (que vous avez déjà regardé, merci encore!!) de façon détournée.
    C'est ce que je me prépare à faire après le repas!

    A tout à l'heure!

    Tyrtamos

    [EDIT]: c'est fait!

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

Discussions similaires

  1. [system] lancer une commande dos
    Par romuluslepunk dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 20/08/2005, 11h54
  2. [C#] Lancer une commande systeme ?
    Par Oberown dans le forum Windows Forms
    Réponses: 1
    Dernier message: 25/07/2005, 11h29
  3. [Dos] Lancer une commande dos sans attendre la fin
    Par MrEddy dans le forum Windows
    Réponses: 4
    Dernier message: 09/06/2005, 17h38
  4. Lancer une commande en C.
    Par ronan99999 dans le forum Windows
    Réponses: 2
    Dernier message: 26/07/2004, 16h25
  5. Réponses: 1
    Dernier message: 30/04/2004, 11h36

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