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

GTK+ avec Python Discussion :

Placement de curseur


Sujet :

GTK+ avec Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Par défaut Placement de curseur
    Bonsoir,

    je voudrais placer du texte à l'endroit où se trouve le curseur dans un textview ,par exemple des crochets [], et avoir mon curseur automatiquement entre les deux crochets.
    J'ai déjà ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tampon=self.textview1.get_buffer()
    tampon.insert_at_cursor("[]")
    mais après ...

    Comment faire ?

    Merci.

  2. #2
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Salut,

    C'est pas simple en effet, je l'avais fait il y a qq temps, et mon idée était d'insérer en deux temps en créant un marker à gravité à gauche pour insérer le texte de droite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    buffer.insert_at_cursor("[")
    iter = buffer.get_iter_at_mark(buffer.get_insert())
    m = buffer.create_mark(None, iter, True)
    buffer.insert(buffer.get_iter_at_mark(m), "]")
    iter = buffer.get_iter_at_mark(m)
    buffer.delete_mark(m)
    buffer.place_cursor(iter)
    (pas testé, je donne ça de mémoire... )


    Une autre approche serait de créer un Iter à l'emplacement du curseur, de reculer d'un cran avec "backward_chars" et de replacer le curseur à la nouvelle position de l'Iter.

    J'espère que ça pourra t'aider


    -

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Par défaut
    Merci pour ta proposition. Mais en fait, je ne peux pas la tester. Je m'explique.

    Je viens de m'apercevoir d'un détail non négligeable. En fait quand je clique sur un bouton de mon interface pour qu'il me mette des crochets, juste après il n'y a plus de curseur jusqu'à ce que je clique de nouveau dans mon textview.

    Que faut-il faire pour que le clique sur le bouton n'enlève pas le curseur ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Par défaut
    Bon en fait, j'ai trouvé. Il fallait que dans glade dans mes boutons , je mette NON à "activation lors du clic".

    Merci, ça marche comme je voulais.

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

Discussions similaires

  1. Placement du curseur après le choix d'une date
    Par amine1980 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 28/08/2012, 08h32
  2. ComboBox placement curseur
    Par Knightrider dans le forum Windows Forms
    Réponses: 1
    Dernier message: 31/08/2009, 11h57
  3. placement du curseur
    Par raphael_g dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/07/2009, 14h59
  4. Placement du curseur dans un fichier
    Par noakiss dans le forum Langage
    Réponses: 6
    Dernier message: 11/11/2008, 20h17
  5. Placement du curseur dans une scrollbar
    Par elsakapus dans le forum MFC
    Réponses: 3
    Dernier message: 20/02/2007, 21h15

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