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

wxPython Discussion :

Problème de ScrolledWindow et de coord de sourie


Sujet :

wxPython

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 82
    Par défaut Problème de ScrolledWindow et de coord de sourie
    Bonjour,
    je voudrais soumettre à votre sagacité deux questions qui m'empoisonnent la vie. Si quelqu'un peut m'apporter une explication rationnelle à ces deux soucis, je le remercie par avance.
    Je joins une version édulcorée de mon code. j'ai séparé ce code en 4 modules distincts... Je vous invite à tester, ce sera plus compréhensible ^^.
    Pour l'initialisation des différentes variables, cela se passe dans le module2

    Première question :
    Pourquoi la roulette de ma sourie est inopérente lorsqu'une image de grande taille déclenche un scrollbar vertical ? Cela se fait naturellement sur d'autres applications... et là, non... Pourtant, j'ai pas l'impression d'avoir modifié quelque chose

    Deuxième question :
    j'ai une petite fonction qui me permet de tracer les coordonnées de l'image à l'interieur de la ScrolledWindow et je les affiche dans la barre de titre de la frame. lorsque j'utilise un des boutons de la barre d'outil (fonction de zoom), l'image change de taille à l'écran, par contre, je n'arrive plus à obtenir les coordonnées de la sourie... que se passe t'il et quel est le moyen pour retrouver ces coordonnées ?
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Bonjour,
    Lorsque tu zoom ton image est détruite puis recréée, donc l'événement wx.EVT_MOTION pointe alors vers une image détruite. Il te suffit donc de rajouter self.image.Bind(wx.EVT_MOTION, self.OnMouseMove) à la fin de le méthode Affiche de la classe Interface_Map.

    Pour la molette ça fonctionne chez moi, par contre tu as une erreur d'intendation à la ligne 68 du module3 (wx.ScrolledWindow.__init__(self,parent = conteneur)), c'est peut être la cause du problème.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 82
    Par défaut
    Salut,
    Merci de t' être penché sur mon problème et de m'avoir apporté une réponse.
    Effectivement, c'est bien une histoire d'image détruite... Maintenant que tu as identifié le problème, la solution est evidente ^^
    Par contre, je n'ai toujours pas trouvé l'origine de mon problème avec la molette de la sourie. Etrange que cela marche chez toi et pas chez moi... avec les mêmes sources
    Je suis sous Window, il est peut être là le problème, non ?
    j'ai essayer plusieurs modifs... j'ai peut être pas trouvé la bonne intendation
    bizarre...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Je suis sous Window, il est peut être là le problème, non ?
    En effet je suis sur linux.

    Pour l'intendation, tu utilses parfois 4 espaces, parfois une tabulation, et parfois une tabulation suivi de 4 espaces. C'est pas terrible, je sais pas quelle IDE tu utilises?

    Pour la ligne 68 (wx.ScrolledWindow.__init__(self,parent = conteneur), c'est une tabulation, alors que toutes les autres lignes de la méthode sont avec 8 espaces.

    Mais je ne suis pas sûr que le problème vienne de là, sinon tu aurais une exception IndentationError.
    Sinon tu peux toujours intercepter l'évènement EVT_MOUSEWHEEL "à la main" et utiliser wx.ScrolledWindow.Scroll.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 82
    Par défaut
    Pour l'intendation, tu utilses parfois 4 espaces, parfois une tabulation, et parfois une tabulation suivi de 4 espaces. C'est pas terrible, je sais pas quelle IDE tu utilises?
    J'utilise PYSripter. Mais j'ai jamais remarqué cette différence. Toutefois, j'ai pas encore eut à déplorer une exception IndentationError à ce sujet.

    Sinon tu peux toujours intercepter l'évènement EVT_MOUSEWHEEL "à la main" et utiliser wx.ScrolledWindow.Scroll.
    je crois que cela va se passer comme ça

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 82
    Par défaut
    Bonjour,
    je souhaite revenir sur cet exercice car j'ai une petite question.
    Merci d'avance pour vos réponses.
    Je souhaite dessiner sur cette image différentes formes sans toutefois modifier cette image.
    Je pensais utiliser un DC pour cela...
    Cependant, je n'arrive pas à dessiner sur l'image ?!? En fait, tout ce que je fais se passe en dessous de l'image. C'est pas trés pratique.
    L'idée c'est de se servir de l'image comme fond et de pouvoir travailler dessus.
    Enfin si j'y arrive... C'est pour cela que j'ai besoin de vos lumières... les miennes n'arrivent pas à m'éclairer plus loin que le bout de mon nez.
    Je joins un petit bout de code.. en fait, j'ai garder les memes modules que précédement... j'ai juste modifié le module 3 en tenant compte des remarques d'un généreux donateur de conseil
    Si quelqu'un peut m'aider, je le remercie par avance
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. problème de scrolledwindow
    Par GregShakur dans le forum wxPython
    Réponses: 2
    Dernier message: 09/03/2012, 09h55
  2. [Débutant] Problème de défilement de texte avec la souris
    Par L1011 dans le forum MATLAB
    Réponses: 4
    Dernier message: 19/09/2009, 15h46
  3. Réponses: 2
    Dernier message: 04/12/2006, 23h02
  4. Problème de désactivation de molette de la souris
    Par Lemnear dans le forum Access
    Réponses: 11
    Dernier message: 24/07/2006, 11h20
  5. Problème de detection de clavier et de souris
    Par azd dans le forum Périphériques
    Réponses: 6
    Dernier message: 21/11/2005, 15h33

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