• PySide 模块
  • PySide.QtGui
  • 内容表

    上一话题

    QDragEnterEvent

    下一话题

    QInputMethodEvent.Attribute

    QInputMethodEvent

    概要

    函数

    详细描述

    PySide.QtGui.QInputMethodEvent class provides parameters for input method events.

    输入法事件被发送给 Widget,当使用输入法把文本键入 Widget 时。输入法被广泛用于键入非拉丁字母语言的文本。

    注意:当创建自定义文本编辑 Widget 时, Qt.WA_InputMethodEnabled 窗口属性必须被明确设置 (使用 QWidget.setAttribute() function) in order to receive input method events.

    这些事件对希望能够正确处理具有复杂字符输入的语言的键盘键入 Widget 的作者是很感兴趣的。这种语言的文本输入过程通常分 3 个步骤:

    PySide.QtGui.QInputMethodEvent models these three stages, and transfers the information needed to correctly render the intermediate result. A PySide.QtGui.QInputMethodEvent has two main parameters: PySide.QtGui.QInputMethodEvent.preeditString() and PySide.QtGui.QInputMethodEvent.commitString() PySide.QtGui.QInputMethodEvent.preeditString() parameter gives the currently active preedit string. The PySide.QtGui.QInputMethodEvent.commitString() parameter gives a text that should get added to (or replace parts of) the text of the editor widget. It usually is a result of the input operations and has to be inserted to the widgets text directly before the preedit string.

    PySide.QtGui.QInputMethodEvent.commitString() should replace parts of the of the text in the editor, PySide.QtGui.QInputMethodEvent.replacementLength() will contain the number of characters to be replaced. PySide.QtGui.QInputMethodEvent.replacementStart() contains the position at which characters are to be replaced relative from the start of the preedit string.

    许多属性控制预编辑字符串的视觉外观 (预编辑字符串之外的文本的视觉外观仅由 Widget 控制)。 QInputMethodEvent.AttributeType 枚举描述了可以设置的不同属性。

    类实现 QWidget.inputMethodEvent() or QGraphicsItem.inputMethodEvent() should at least understand and honor the TextFormat and Cursor 属性。

    由于输入法需要能够从 Widget (或图形项) 查询某些特性,因此子类也必须实现 QWidget.inputMethodQuery() and QGraphicsItem.inputMethodQuery() ,分别。

    当收到输入法事件时,文本 Widget 必须履行以下步骤:

    class PySide.QtGui. QInputMethodEvent
    class PySide.QtGui. QInputMethodEvent ( other )
    class PySide.QtGui. QInputMethodEvent ( preeditText , attributes )
    参数:

    Constructs an event of type QEvent.InputMethod PySide.QtGui.QInputMethodEvent.attributes() , PySide.QtGui.QInputMethodEvent.preeditString() , PySide.QtGui.QInputMethodEvent.commitString() , PySide.QtGui.QInputMethodEvent.replacementStart() ,和 PySide.QtGui.QInputMethodEvent.replacementLength() are initialized to default values.

    构造副本为 other .

    PySide.QtGui.QInputMethodEvent. AttributeType
    常量 描述
    QInputMethodEvent.TextFormat A PySide.QtGui.QTextCharFormat for the part of the preedit string specified by start and length. value contains a PySide.QtCore.QVariant of type PySide.QtGui.QTextFormat specifying rendering of this part of the preedit string. There should be at most one format for every part of the preedit string. If several are specified for any character in the string the behaviour is undefined. A conforming implementation has to at least honor the backgroundColor, textColor and fontUnderline properties of the format.
    QInputMethodEvent.Cursor If set, a cursor should be shown inside the preedit string at position start. The length variable determines whether the cursor is visible or not. If the length is 0 the cursor is invisible. If value is a PySide.QtCore.QVariant of type PySide.QtGui.QColor this color will be used for rendering the cursor, otherwise the color of the surrounding text will be used. There should be at most one Cursor attribute per event. If several are specified the behaviour is undefined.
    QInputMethodEvent.Language The variant contains a PySide.QtCore.QLocale object specifying the language of a certain part of the preedit string. There should be at most one language set for every part of the preedit string. If several are specified for any character in the string the behavior is undefined.
    QInputMethodEvent.Ruby The ruby text for a part of the preedit string. There should be at most one ruby text set for every part of the preedit string. If several are specified for any character in the string the behaviour is undefined.
    QInputMethodEvent.Selection If set, the edit cursor should be moved to the specified position in the editor text contents. In contrast with Cursor , this attribute does not work on the preedit text, but on the surrounding text. The cursor will be moved after the commit string has been committed, and the preedit string will be located at the new edit position. The start position specifies the new position and the length variable can be used to set a selection starting from that point. The value is unused.

    另请参阅

    属性

    PySide.QtGui.QInputMethodEvent. attributes ( )
    返回类型:

    Returns the list of attributes passed to the PySide.QtGui.QInputMethodEvent constructor. The attributes control the visual appearance of the preedit string (the visual appearance of text outside the preedit string is controlled by the widget only).

    PySide.QtGui.QInputMethodEvent. commitString ( )
    返回类型: unicode

    Returns the text that should get added to (or replace parts of) the text of the editor widget. It usually is a result of the input operations and has to be inserted to the widgets text directly before the preedit string.

    PySide.QtGui.QInputMethodEvent. preeditString ( )
    返回类型: unicode

    返回预编辑文本,即:用户开始编辑之前的文本。

    PySide.QtGui.QInputMethodEvent. replacementLength ( )
    返回类型: PySide.QtCore.int

    返回预编辑字符串中要被替换的字符数。

    PySide.QtGui.QInputMethodEvent. replacementStart ( )
    返回类型: PySide.QtCore.int

    返回要替换字符的位置,相对于预编辑字符串开头。

    PySide.QtGui.QInputMethodEvent. setCommitString ( commitString [ , replaceFrom=0 [ , replaceLength=0 ] ] )
    参数:
    • commitString – unicode
    • replaceFrom PySide.QtCore.int
    • replaceLength PySide.QtCore.int

    把提交字符串设为 commitString .

    The commit string is the text that should get added to (or replace parts of) the text of the editor widget. It usually is a result of the input operations and has to be inserted to the widgets text directly before the preedit string.

    If the commit string should replace parts of the of the text in the editor, replaceLength specifies the number of characters to be replaced. replaceFrom specifies the position at which characters are to be replaced relative from the start of the preedit string.