<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # QInputMethodEvent Class Reference ## [[QtGui](index.htm) module] 該QInputMethodEvent類提供了輸入法的事件參數。[More...](#details) 繼承[QEvent](qevent.html)。 ### Types * `class **[Attribute](index.htm)**` * `enum AttributeType { TextFormat, Cursor, Language, Ruby, Selection }` ### Methods * `__init__ (self)` * `__init__ (self, QString?preeditText, list-of-QInputMethodEvent.Attribute?attributes)` * `__init__ (self, QInputMethodEvent?other)` * `list-of-QInputMethodEvent.Attribute attributes (self)` * `QString commitString (self)` * `QString preeditString (self)` * `int replacementLength (self)` * `int replacementStart (self)` * `setCommitString (self, QString?commitString, int?from?=?0, int?length?=?0)` * * * ## Detailed Description 該QInputMethodEvent類提供了輸入法的事件參數。 輸入法事件發送到窗口部件時,輸入法來輸入文本的小工具。輸入法被廣泛用于輸入文字與非拉丁字母的語言。 請注意,創建自定義的文本編輯窗口部件時,該[Qt.WA_InputMethodEnabled](qt.html#WidgetAttribute-enum)窗口屬性必須顯式設置(使用[QWidget.setAttribute](qwidget.html#setAttribute)( )函數) ,以便接收輸入方法事件。 該事件感興趣的人誰不想能正確處理復雜的文字輸入語言的鍵盤輸入部件的作者。在這樣的語言的文本輸入通常是三個步驟: 1. **Starting to Compose** 當用戶按下鍵盤上的第一鍵,輸入上下文被創建。該輸入上下文將包含鍵入的字符的字符串。 2. **Composing** 隨著按下每一個新鍵,輸入法將嘗試創建一個匹配的字符串輸入的文字至今被稱為預編輯字符串。而輸入上下文活動時,用戶可以只將光標移動屬于該輸入上下文內的字符串。 3. **Completing** 在一些點,用戶將激活一個用戶接口部件(可能使用特定的鍵),其中它們可以從許多匹配他們已經輸入到目前為止文本字符串的選擇。用戶可以確認他們的選擇取消輸入,在這兩種情況下的輸入上下文將被關閉。 QInputMethodEvent模型這三個階段,并轉移到正確渲染中間結果所需的信息。一個QInputMethodEvent有兩個主要參數:[preeditString](qinputmethodevent.html#preeditString)()和[commitString](qinputmethodevent.html#commitString)( ) 。該[preeditString](qinputmethodevent.html#preeditString)( )參數提供了當前活動的預編輯字符串。該[commitString](qinputmethodevent.html#commitString)()的參數給出了應該被添加到(或更換的零件)的編輯控件的文本的文本。它通常是輸入操作的結果,并具有直接的預編輯字符串之前,要被插入到該小部件文本。 如果[commitString](qinputmethodevent.html#commitString)( )應該更換的編輯器中的文字部分,[replacementLength](qinputmethodevent.html#replacementLength)()將包含要被替換的字符數。[replacementStart](qinputmethodevent.html#replacementStart)()包含在該字符將相對從預編輯字符串的開始取代了位置。 一些屬性控制預編輯字符串的視覺外觀(文本的視覺外觀的預編輯字符串外僅由部件控制) 。該[AttributeType](qinputmethodevent.html#AttributeType-enum)枚舉描述了可設置不同的屬性。 一個類實現[QWidget.inputMethodEvent](qwidget.html#inputMethodEvent)()或[QGraphicsItem.inputMethodEvent](qgraphicsitem.html#inputMethodEvent)( )至少應該理解和尊敬[TextFormat](qinputmethodevent.html#AttributeType-enum)和[Cursor](qinputmethodevent.html#AttributeType-enum)屬性。 因為輸入方法需要能夠從部件或圖形項查詢某些屬性,子類還必須實現[QWidget.inputMethodQuery](qwidget.html#inputMethodQuery)()和[QGraphicsItem.inputMethodQuery](qgraphicsitem.html#inputMethodQuery)() ,分別為。 當接收到一個輸入法事件,文本組件必須執行以下步驟: 1. 如果控件已選定的文本,選定文本應該得到消除。 2. 刪除文本的起始處[replacementStart](qinputmethodevent.html#replacementStart)( )與長度[replacementLength](qinputmethodevent.html#replacementLength)()和由它代替[commitString](qinputmethodevent.html#commitString)( ) 。如果[replacementLength](qinputmethodevent.html#replacementLength)( )為0,[replacementStart](qinputmethodevent.html#replacementStart)()給出的插入位置[commitString](qinputmethodevent.html#commitString)( ) 。 當進行置換預先編輯字符串的區域將被忽略,從而替代從-1開始為2的長度將預編輯字符串,之后的第一個字符之前刪除的最后一個字符,并直接將預編輯字符串前插入提交字符串。 如果小部件工具撤消/重做,這種操作被添加到撤消堆棧中。 3. 如果沒有當前預編輯字符串,插入[preeditString](qinputmethodevent.html#preeditString)( )在當前光標位置,否則與此事件收到一個取代以前preeditString 。 如果小部件工具撤消/重做時,[preeditString](qinputmethodevent.html#preeditString)( )不應該影響撤消/重做棧以任何方式。 窗口小部件應檢查屬性列表應用到預編輯字符串。它具有至少了解的[TextFormat](qinputmethodevent.html#AttributeType-enum)和游標屬性和指定渲染它們。 * * * ## Type Documentation ``` QInputMethodEvent.AttributeType ``` | Constant | Value | Description | | --- | --- | --- | | `QInputMethodEvent.TextFormat` | `0` | A [QTextCharFormat](qtextcharformat.html)對預編輯字符串由start和length指定的一部分。值包含一個[QVariant](qvariant.html)類型[QTextFormat](qtextformat.html)指定這部分的預編輯字符串的渲染。應該有至多有一個格式的預編輯字符串的每一個部分。如果幾個是在字符串中指定的任何字符的行為是未定義的。一個符合標準的實現必須至少兌現格式的backgroundColor ,文字顏色及加底線的屬性。 | | `QInputMethodEvent.Cursor` | `1` | 如果設置,光標應顯示預編輯字符串內的位置開始。長度變量確定光標是否可見或不可見。如果長度為0的光標是不可見的。如果值是一個[QVariant](qvariant.html)類型[QColor](qcolor.html)這種顏色將用于渲染光標,否則周圍文本的顏色將被使用。應該有每個事件最多只有一個光標屬性。如果幾個指定的行為是未定義的。 | | `QInputMethodEvent.Language` | `2` | 變體包含一個[QLocale](qlocale.html)對象指定預編輯字符串的某一部分的語言。應該有至多有一個語言的預編輯字符串的每一個部分設置。如果幾個是在字符串中指定的任何字符的行為是未定義的。 | | `QInputMethodEvent.Ruby` | `3` | 紅寶石文本預編輯字符串的一部分。應該有對預編輯字符串的每一個部分最多有一個紅寶石的文本集。如果幾個是在字符串中指定的任何字符的行為是未定義的。 | | `QInputMethodEvent.Selection` | `4` | 如果設置,編輯光標應該被移動到編輯器中的文本內容中的指定位置。與此相反`Cursor`,這個屬性不能在預先編輯文字工作,但對周圍的文字。光標將后移至提交字符串一直致力于,并預先編輯字符串將設在新的編輯位置。的開始位置指定新的位置和長度可變,可用于設置從該點起進行選擇。該值是未使用的。 | **See also** [Attribute](index.htm)。 * * * ## Method Documentation ``` QInputMethodEvent.__init__ (self) ``` 構造類型的事件[QEvent.InputMethod](qevent.html#Type-enum)。該[attributes](qinputmethodevent.html#attributes)( )[preeditString](qinputmethodevent.html#preeditString)( )[commitString](qinputmethodevent.html#commitString)( )[replacementStart](qinputmethodevent.html#replacementStart)()和[replacementLength](qinputmethodevent.html#replacementLength)( )被初始化為默認值。 **See also** [setCommitString](qinputmethodevent.html#setCommitString)( ) 。 ``` QInputMethodEvent.__init__ (self, QString?preeditText, list-of-QInputMethodEvent.Attribute?attributes) ``` Construcs類型的事件[QEvent.InputMethod](qevent.html#Type-enum)。預編輯文本設置為_preeditText_的屬性_attributes_。 該[commitString](qinputmethodevent.html#commitString)( )[replacementStart](qinputmethodevent.html#replacementStart)()和[replacementLength](qinputmethodevent.html#replacementLength)()值可以使用設置[setCommitString](qinputmethodevent.html#setCommitString)( ) 。 **See also** [preeditString](qinputmethodevent.html#preeditString)()和[attributes](qinputmethodevent.html#attributes)( ) 。 ``` QInputMethodEvent.__init__ (self, QInputMethodEvent?other) ``` 構造的副本_other_。 ``` list-of-QInputMethodEvent.Attribute QInputMethodEvent.attributes (self) ``` 返回傳遞到屬性列表[QInputMethodEvent](qinputmethodevent.html)構造函數。的屬性控制在預編輯字符串的視覺外觀(文字的視覺外觀的預編輯字符串以外僅由部件控制)。 **See also** [preeditString](qinputmethodevent.html#preeditString)()和[Attribute](index.htm)。 ``` QString QInputMethodEvent.commitString (self) ``` 返回應該被添加到(或更換的零件)的編輯控件的文本。它通常是輸入操作的結果,并具有直接的預編輯字符串之前,要被插入到該小部件文本。 **See also** [setCommitString](qinputmethodevent.html#setCommitString)( )[preeditString](qinputmethodevent.html#preeditString)( )[replacementStart](qinputmethodevent.html#replacementStart)()和[replacementLength](qinputmethodevent.html#replacementLength)( ) 。 ``` QString QInputMethodEvent.preeditString (self) ``` 返回預編輯文本,即文本的用戶開始編輯它。 **See also** [commitString](qinputmethodevent.html#commitString)()和[attributes](qinputmethodevent.html#attributes)( ) 。 ``` int QInputMethodEvent.replacementLength (self) ``` 返回被替換的預編輯字符串中的字符數。 **See also** [replacementStart](qinputmethodevent.html#replacementStart)()和[setCommitString](qinputmethodevent.html#setCommitString)( ) 。 ``` int QInputMethodEvent.replacementStart (self) ``` 返回字符將被相對的預編輯字符串的開始取代了位置。 **See also** [replacementLength](qinputmethodevent.html#replacementLength)()和[setCommitString](qinputmethodevent.html#setCommitString)( ) 。 ``` QInputMethodEvent.setCommitString (self, QString?commitString, int?from?=?0, int?length?=?0) ``` 提交字符串設置為_commitString_。 提交的字符串是一個應該被添加到(或更換的零件)的編輯控件的文本。它通常是輸入操作的結果,并具有直接的預編輯字符串之前,要被插入到該小部件文本。 如果提交的字符串應該替換的編輯器中的文字部分,_replaceLength_指定要被替換的字符數。_replaceFrom_指定在哪個字符被從相對的預編輯字符串的開始取代了位置。 **See also** [commitString](qinputmethodevent.html#commitString)( )[replacementStart](qinputmethodevent.html#replacementStart)()和[replacementLength](qinputmethodevent.html#replacementLength)( ) 。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看