IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QInputMethodEvent

La classe QInputMethodEvent fournit les param�tres pour les �v�nements de m�thode de saisie. Plus d'informations...

#include <QInputMethodEvent>

Voir la position dans l'arbre des classes.

  

H�ritage

H�rite de QEvent.

Description d�taill�e

La classe QInputMethodEvent fournit les param�tres pour les �v�nements de m�thode de saisie.

Les �v�nements de m�thode de saisie sont envoy�s aux widgets quand une m�thode de saisie est utilis�e pour entrer du texte dans un widget. Les m�thodes de saisie sont largement utilis�es pour saisir du texte dans une langue avec des caract�res non-latin.

Notez que lors de la cr�ation de widgets personnalis�s d'�dition de texte, l'attribut de fen�tre Qt::WA_InputMethodEnabled doit �tre d�fini de fa�on explicite (en utilisant la fonction QWidget::setAttribute()), de mani�re � recevoir les �v�nements de m�thode de saisie.

Les �v�nements sont int�ressants pour les auteurs de widgets de saisie clavier qui veulent �tre en mesure de g�rer correctement les langages avec la saisie de caract�res complexes.

  1. D�but de la saisie

Quand l'utilisateur appuie sur la premi�re touche sur un clavier, un contexte de saisie est cr��. Ce contexte de saisie contiendra une cha�ne des caract�res tap�s.

  1. Saisie

Avec chaque nouvelle touche press�e, la m�thode de saisie tentera de cr�er une cha�ne correspondante pour le texte tap� jusque-l� appel� cha�ne de pr��dition. Tant que le contexte est activ�, l'utilisateur peut seulement d�placer le curseur � l'int�rieur de la cha�ne appartenant � ce contexte de saisie.

  1. Compl�tion

� un certain moment, l'utilisateur activera un composant de l'interface utilisateur (peut-�tre en utilisant une touche particuli�re) o� il peut choisir parmi un nombre de cha�nes correspondant au texte qu'il a entr� jusqu'� maintenant. L'utilisateur peut soit confirmer son choix, soit l'annuler ; dans tous les cas, le contexte de saisie sera ferm�.

QInputMethodEvent mod�lise ces trois �tapes et transf�re l'information n�cessaire pour afficher correctement le r�sultat interm�diaire. QInputMethodEvent poss�de deux param�tres principaux : preeditString() etcommitString(). Le param�tre preeditString() fournit la cha�ne de pr��dition actuellement active. Le param�tre commitString() fournit un texte qui devrait �tre ajout� au (ou remplacer des parties du) texte du widget d'�dition. Il est habituellement un r�sultat des op�rations d'entr�e et doit �tre ins�r� dans le texte des widgets directement avant la cha�ne de pr��dition.

Si commitString() doit remplacer des parties du texte dans l'�diteur, replacementLength() contiendra le nombre de caract�res qui seront remplac�s. replacementStart() contient la position � laquelle les caract�res doivent �tre remplac�s par rapport au d�but de la cha�ne de pr��dition.

Certains attributs contr�lent l'apparence visuelle de la cha�ne de pr��dition (l'apparence visuelle du texte en dehors de la cha�ne de pr��dition est contr�l�e par le widget m�me). L'�num�ration AttributeType d�crit les diff�rents attributs qui peuvent �tre activ�s.

Une classe impl�mentant QWidget::inputMethodEvent() ou QGraphicsItem::inputMethodEvent() devrait au moins savoir interpr�ter et honorer les attributs TextFormat et Cursor.

Depuis que les m�thodes de saisie ont besoin de pouvoir demander certaines propri�t�s au widget ou � l'item graphique, les sous-classes doivent �galement impl�menter QWidget::inputMethodQuery() et QGraphicsItem::inputMethodQuery(), respectivement.

� la r�ception d'un �v�nement de m�thode de saisie, le widget du texte doit effectuer les �tapes suivantes :

  1. Si le widget a s�lectionn� le texte, le texte s�lectionn� doit �tre supprim� ;
  2. Supprimer le texte commen�ant � replacementStart() avec une longueur de replacementLength() et le remplacer par le commitString(). Si replacementLength() vaut 0, replacementStart() fournit la position de l'insertion pour le commitString().

Lorsque le remplacement fait que la zone de la cha�ne de pr��dition est ignor�e, c'est-�-dire un remplacement commen�ant � -1 avec une longueur de 2, il supprimera le dernier caract�re avant la cha�ne de pr��dition et le premier caract�re juste apr�s et ins�rera la cha�ne m�moris�e directement avant la cha�ne de pr��dition.

Si le widget impl�mente annuler/refaire, cette op�ration est ajout�e � la pile d'annulation.

  1. S'l n'y a pas de cha�ne de pr��dition courante, ins�rer le preeditString() � la position courante du curseur ; autrement remplacer la cha�ne de pr��dition pr�c�dente avec celle re�ue depuis l'�v�nement.

Si le widget impl�mente annluer/refaire, le preeditString() ne devrait en aucune fa�on influencer la pile de annuler/refaire.

Le widget devrait examiner la liste des attributs � appliquer sur la cha�ne de pr��dition. Il doit pouvoir interpr�ter au minimum les attributs TextFormat et Cursor en les affichant comme sp�cifi�.

Voir aussi QInputContext.

Type

enum QInputMethodEvent::AttributeType

Constante Valeur Description
QInputMethodEvent::TextFormat   Un QTextCharFormat pour la partie de la cha�ne de pr��dition sp�cifi� par start et length. value contient un QVariant de type QTextFormat sp�cifiant le rendu de cette partie de la cha�ne de pr��dition. Il devrait y avoir au plus un format pour chaque partie de la cha�ne de pr��dition. Si plusieurs sont sp�cifi�es pour n'importe quel caract�re alors le comportement est ind�fini. Une impl�mentation conforme doit au moins honorer les propri�t�s du format backgroundColor, textColor et fontUnderline.
QInputMethodEvent::Cursor 1 Si activ�, un curseur doit �tre affich� � l'int�rieur de la cha�ne de pr��dition � son d�but. La variable length d�termine si le curseur est visible ou non. Si la longueur vaut 0 le curseur est invisible. Si la valeur est un QVariant de type QColor cette couleur sera utilis�e pour le rendu du curseur, autrement la couleur du texte autour sera utilis�e. Il devrait y avoir au plus un attribut Cursor par �v�nement. Si plusieurs sont sp�cifi�s alors le comportement est ind�fini.
QInputMethodEvent::Language 2 Le variant contient un objet QLocale sp�cifiant la langue de certaines parties de la cha�ne de pr��dition. Il devrait y avoir au plus une langue sp�cifi�e pour chaque partie de la cha�ne de pr��dition. Si plusieurs sont sp�cifi�es pour n'importe quel caract�re alors le comportement est ind�fini.
QInputMethodEvent::Ruby 3 Le texte ruby pour une partie de la cha�ne de pr��dition. Il devrait y avoir au plus un texte ruby de fix� pour chaque partie de la cha�ne de pr��dition. Si plusieurs sont sp�cifi�s pour n'importe quel caract�re alors le comportement est ind�fini.
QInputMethodEvent::Selection 4 Si activ�, le curseur d'�dition doit �tre d�plac� dans le contenu de l'�diteur de texte � la position sp�cifi�e. En contraste avec Cursor, cet attribut ne fonctionne pas sur le texte de pr��dition mais sur le texte l'encadrant. Le curseur sera d�plac� apr�s que la cha�ne m�moris�e soit valid�e et la cha�ne de pr��dition sera positionn�e � la nouvelle position d'�dition. La position start sp�cifie la nouvelle position et la variable length peut �tre utilis�e pour activer un d�but de s�lection depuis ce point. La valeur est inutilis�e.

Voir aussi Attribute.

Fonctions membres

QInputMethodEvent::QInputMethodEvent ()

Construit un �v�nement de type QEvent::InputMethod. attributes(), preeditString(), commitString(), replacementStart() et replacementLength() sont initialis�s aux valeurs par d�faut.

Voir aussi setCommitString().

QInputMethodEvent::QInputMethodEvent ( const QString & preeditText, const QList<Attribute> & attributes )

Construit un �v�nement de type QEvent::InputMethod. Le texte de pr��dition est d�fini � preeditText, les attributs � attributes.

Les valeurs commitString(), replacementStart() et replacementLength() peuvent �tre fix�es en utilisant setCommitString().

Voir aussi preeditString() et attributes().

QInputMethodEvent::QInputMethodEvent ( const QInputMethodEvent & other )

Construit une copie de other.

const QList<Attribute> & QInputMethodEvent::attributes () const

Retourne la list des attributs pass�s au constructeur de QInputMethodEvent. Les attributs contr�lent l'apparence visuelle de la cha�ne de pr��dition (l'apparence visuelle du texte en dehors de la cha�ne de pr��dition est contr�l�e par le widget m�me).

Voir aussi preeditString() et Attribute.

const QString & QInputMethodEvent::commitString () const

Retourne le texte qui devrait �tre ajout� au (ou remplacer une partie du) texte du widget �diteur. Il est g�n�ralement le r�sultat des op�rations d'entr�e et doit �tre ins�r� dans le texte du widget juste avant la cha�ne de pr��dition.

Voir aussi setCommitString(), preeditString(), replacementStart() et replacementLength().

const QString & QInputMethodEvent::preeditString () const

Retourne le texte de pr��dition, c'est-�-dire le texte avant que l'utilisateur n'ait commenc� � l'�diter.

Voir aussi commitString() et attributes().

int QInputMethodEvent::replacementLength () const

Retourne le nombre de caract�res � remplacer dans la cha�ne de pr��dition.

Voir aussi replacementStart() et setCommitString().

int QInputMethodEvent::replacementStart () const

Retourne la position � laquelle les caract�res doivent �tre remplac�s par rapport au d�but de la cha�ne de pr��dition.

Voir aussi replacementLength() et setCommitString().

void QInputMethodEvent::setCommitString ( const QString & commitString, int replaceFrom = 0, int replaceLength = 0 )

D�finit la cha�ne m�moris�e � commitString.

La cha�ne m�moris�e est le texte qui devrait �tre ajout� au (ou remplacer des parties du) texte du widget �diteur. Elle est g�n�ralement le r�sultat des op�rations d'entr�e et doit �tre ins�r�e dans le texte du widget juste avant la cha�ne de pr��dition.

Si la cha�ne m�moris�e doit remplacer une partie du texte dans l'�diteur, replaceLength sp�cifie le nombre de caract�res � remplacer. replaceFrom sp�cifie la position � laquelle les caract�res doivent �tre remplac�s par rapport au d�but de la cha�ne de pr��dition.

Voir aussi commitString(), replacementStart() et replacementLength().

Remerciements

Merci � Dimitry Ernot pour la traduction et � Jonathan Courtois ainsi qu'� Jacques Thery pour leur relecture !

Cette page est une traduction d'une page de la documentation de Qt, �crite par Nokia Corporation and/or its subsidiary(-ies). Les �ventuels probl�mes r�sultant d'une mauvaise traduction ne sont pas imputables � Nokia. Qt 4.7
Copyright © 2025 Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'� 3 ans de prison et jusqu'� 300 000 E de dommages et int�r�ts. Cette page est d�pos�e � la SACD.
Vous avez d�nich� une erreur ? Un bug ? Une redirection cass�e ? Ou tout autre probl�me, quel qu'il soit ? Ou bien vous d�sirez participer � ce projet de traduction ? N'h�sitez pas � nous contacter ou par MP !