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

Qt Discussion :

QTextEdit et Curseur clignotant


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 70
    Par défaut QTextEdit et Curseur clignotant
    Bonsoir,

    j'ai créé une classe TexteEdit perso en dérivant QTextEdit

    le but c'est de capter les entrées et sorties du widget afin de faire une sauvegarde en sortie dans la bdd

    j'ai ajouté aussi une coloration du fond de la cellule quand elle est active

    tout va bien sauf que je n'ai ps pu afficher le caret clignotant indiquant la position de mon curseur

    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
     
    void TexteEdit::focusInEvent(QFocusEvent *e)
    {
        QTextCursor curseur = this->textCursor();
        this->setTextCursor(curseur);
        QPalette p = this->palette();
        p.setColor(QPalette::Base, QColor(200, 200, 240));
        this->setPalette(p);
    }
    void TexteEdit::focusOutEvent(QFocusEvent *e)
    {
        QTextCursor curseur = this->textCursor();
        this->unsetCursor();
        this->setTextCursor(curseur);
        QPalette p = this->palette();
        p.setColor(QPalette::Base, QColor(255, 255, 255));
        this->setPalette(p);
        emit(Changed(this->toPlainText()));
    }
    je recherche donc le moyen de faire en IN curseur.visible(true) et en OUT curseur.visible(false)

    la seule chose que j'ai trouvé c'est de supprimer le FocusIn... mais du coup je perds la coloration ... et mes curseurs sont dans chaque TexteEdit après mon passage

    si qq à une piste sérieuse

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 70
    Par défaut
    Un début de piste pour afficher le curseur clignotant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void TexteEdit::focusInEvent(QFocusEvent *e)
    {
           QPalette p = this->palette();
           p.setColor(QPalette::Base, QColor(200, 200, 240));
           this->setPalette(p);
           QTextEdit::focusInEvent(e);
    }
    me reste à le supprimer quand je quitte le TexteEdit

    et du coup logiquement et quand on a compris le principe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void TexteEdit::focusOutEvent(QFocusEvent *e)
    {
           QPalette p = this->palette();
           p.setColor(QPalette::Base, QColor(255, 255, 255));
           this->setPalette(p);
           QTextEdit::focusOutEvent(e);
           emit(Changed(this->toPlainText()));
    }
    merci de votre aide à tous

    [ et merci Google]

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

Discussions similaires

  1. cacher le curseur clignotant textbox
    Par parabole33 dans le forum C#
    Réponses: 2
    Dernier message: 19/02/2010, 19h52
  2. [NETCF] Afficher curseur clignotant dans textbox
    Par koktel_dfr dans le forum Windows Forms
    Réponses: 1
    Dernier message: 12/02/2010, 12h45
  3. curseur clignotant disparait
    Par domiq dans le forum Windows Vista
    Réponses: 1
    Dernier message: 06/06/2008, 10h58
  4. [JTextField] Enlever Curseur Clignotant
    Par thomas9501 dans le forum Composants
    Réponses: 5
    Dernier message: 26/01/2008, 08h30
  5. Réponses: 25
    Dernier message: 17/02/2005, 18h02

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