Partage
  • Partager sur Facebook
  • Partager sur Twitter

[QT] Clique dans un QTextEdit

Sujet résolu
    6 juillet 2007 à 16:16:27

    Salut,

    J'aimerais que lorsque je clique dans un TextEdit, je texte qu'il y a dedans disparaisse.

    Ex :

    QTextEdit edit("Marque ton nom : ", &window);


    J'aimerais que lorsque je clique dans la zone d'édition "edit", le texte "Marque ton nom : " disparraisse.


    Est-ce possible? Si oui, comment?

    Merci de vos réponses.

    P.S : Ne me dites pas "Va chercher dans le doc ..." je n'ai pas trouvé ...
    • Partager sur Facebook
    • Partager sur Twitter
      6 juillet 2007 à 18:29:46

      Une solution peut être serait, que lorsque ton textEdit reçoit le focus, le contenu de celui-ci soit éffacé.
      Avec un connect() sa se fait bien.
      • Partager sur Facebook
      • Partager sur Twitter
        6 juillet 2007 à 19:45:36

        Salut à toi gogeta1 :p ,

        Je sais que tu ne vas pas apprécier ^^ , mais : va chercher dans le doc ...
        Lol, j'avoue que c'est parfois un peu le fouillis dans la doc de Trolltech, mais il y a à peut prêt tout ce

        qu'il faut dedans, il faut juste savoir chercher au bon endroit et avec le bon mot clé.
        Voila la page directe pour la classe QTextEdit :p :

        http://doc.trolltech.com/4.3/qtextedit.html

        Si tu descend un peu sur la page, tu verras la rubrique "Public Slots", et en regardant rapidement

        la liste, du découvrira que "void clear ()" semble adapté comme slot pour ce que tu veux faire.
        En cliquant dessus, tu obtiens cette info:

        Citation : void QTextEdit::clear () [slot]

        Deletes all the text in the text edit.

        Note that the undo/redo history is cleared by this function.

        See also cut(), setPlainText(), and setHtml().



        Voila pour un slot possile ;) (lorsque rien ne correspond, ça veux souvent dire que tu va devoir te créer ton propre slot/signal perso ou sinon ruser)
        Pour ce qui est du signal, je n'ai pas encore assez fouillé (et je ne connais pas encore assez bien Qt)dans la doc pour te donner une réponse formelle, mais je penses que ceci ferait l'affaire:

        Citation : void QApplication::focusChanged ( QWidget * old, QWidget * now ) [signal]

        This signal is

        emitted when the widget that has keyboard focus changed from old to now, i.e. because the user pressed the

        tab-key, clicked into a widget or changed the active window. Note that both old and now can be the null-pointer.

        The signal is emitted after both widget have been notified about the change through QFocusEvent.

        This function was introduced in Qt 4.1.

        See also QWidget::setFocus(), QWidget::clearFocus(), and Qt::FocusReason.


        Signal trouvé en recherchant "focus" sur http://doc.trolltech.com/4.3/functions.html#f

        Ensuite comme l'a dit UltimAKnighT, tu dois pouvoir lier les deux assez facilement grâce à
        "connect".

        Bonne chance pour la suite en tout cas ;) !!

        PS: Le texte s'effacera à chaque fois que tu cliqueras dessus si je ne me trompes pas, donc il faudra peut être ruser là, en dérivant un signal pour que ça ne se reproduise qu'une seule fois, etc
        • Partager sur Facebook
        • Partager sur Twitter

        [QT] Clique dans un QTextEdit

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown