QInputContext Class Reference |
Context | Functions |
---|---|
Receiving information | x11FilterEvent(), filterEvent(), mouseHandler() |
Sending back composed text | sendEvent() |
State change notification | setFocusWidget(), reset() |
Context information | identifierName(), language(), font(), isComposing() |
See also QInputContextPlugin, QInputContextFactory, and QApplication::setInputContext().
Constant | Value | Description |
---|---|---|
QInputContext::PreeditFormat | 0 | The preedit text. |
QInputContext::SelectionFormat | 1 | The selection text. |
See also standardFormat().
Constructs an input context with the given parent.
Destroys the input context.
This is a preliminary interface for Qt 4.
This function can be reimplemented in a subclass to filter input events.
Return true if the event has been consumed. Otherwise, the unfiltered event will be forwarded to widgets as ordinary way. Although the input events have accept() and ignore() methods, leave it untouched.
event is currently restricted to QKeyEvent. But some input method related events such as QWheelEvent or QTabletEvent may be added in future.
The filtering opportunity is always given to the input context as soon as possible. It has to be taken place before any other key event consumers such as eventfilters and accelerators because some input methods require quite various key combination and sequences. It often conflicts with accelerators and so on, so we must give the input context the filtering opportunity first to ensure all input methods work properly regardless of application design.
Ordinary input methods require discrete key events to work properly, so Qt's key compression is always disabled for any input contexts.
See also QKeyEvent and x11FilterEvent().
Returns the font of the current input widget
This function must be implemented in any subclasses to return the identifier name of the input method.
Return value is the name to identify and specify input methods for the input method switching mechanism and so on. The name has to be consistent with QInputContextPlugin::keys(). The name has to consist of ASCII characters only.
There are two different names with different responsibility in the input method domain. This function returns one of them. Another name is called 'display name' that stands for the name for endusers appeared in a menu and so on.
See also QInputContextPlugin::keys() and QInputContextPlugin::displayName().
This function indicates whether InputMethodStart event had been sent to the current focus widget. It is ensured that an input context can send InputMethodCompose or InputMethodEnd event safely if this function returned true.
The state is automatically being tracked through sendEvent().
See also sendEvent().
This function must be implemented in any subclasses to return a language code (e.g. "zh_CN", "zh_TW", "zh_HK", "ja", "ko", ...) of the input context. If the input context can handle multiple languages, return the currently used one. The name has to be consistent with QInputContextPlugin::language().
This information will be used by language tagging feature in QInputMethodEvent. It is required to distinguish unified han characters correctly. It enables proper font and character code handling. Suppose CJK-awared multilingual web browser (that automatically modifies fonts in CJK-mixed text) and XML editor (that automatically inserts lang attr).
This function can be reimplemented in a subclass to handle mouse press, release, double-click, and move events within the preedit text. You can use the function to implement mouse-oriented user interface such as text selection or popup menu for candidate selection.
The x parameter is the offset within the string that was sent with the InputMethodCompose event. The alteration boundary of x is ensured as character boundary of preedit string accurately.
The event parameter is the event that was sent to the editor widget. The event type is QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick or QEvent::MouseButtonMove. The event's button and state indicate the kind of operation that was performed.
This function can be reimplemented in a subclass to reset the state of the input method.
This function is called by several widgets to reset input state. For example, a text widget call this function before inserting a text to make widget ready to accept a text.
Default implementation is sufficient for simple input method. You can override this function to reset external input method engines in complex input method. In the case, call QInputContext::reset() to ensure proper termination of inputting.
You must not send any QInputMethodEvent except empty InputMethodEnd event using QInputContext::reset() at reimplemented reset(). It will break input state consistency.
Sends an input method event specified by event to the current focus widget. Implementations of QInputContext should call this method to send the generated input method events and not QApplication::sendEvent(), as the events might have to get dispatched to a different application on some platforms.
Some complex input methods route the handling to several child contexts (e.g. to enable language switching). To account for this, QInputContext will check if the parent object is a QInputContext. If yes, it will call the parents sendEvent() implementation instead of sending the event directly.
See also QInputMethodEvent.
Returns a QTextFormat object that specifies the format for component s.
This virtual function is called when a state in the focus widget has changed. QInputContext can then use QWidget::inputMethodQuery() to query the new state of the widget.
This virtual function is called when the specified widget is destroyed. The widget is a widget on which this input context is installed.
This function may be overridden only if input method is depending on X11 and you need raw XEvent. Otherwise, this function must not.
This function is designed to filter raw key events for XIM, but other input methods may use this to implement some special features such as distinguishing Shift_L and Shift_R.
Return true if the event has been consumed. Otherwise, the unfiltered event will be translated into QEvent and forwarded to filterEvent(). Filtering at both x11FilterEvent() and filterEvent() in single input method is allowed.
keywidget is a client widget into which a text is inputted. event is inputted XEvent.
See also filterEvent().
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.1 | |
Copyright © 2012 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 ! |
Copyright © 2000-2012 - www.developpez.com