QT虛擬鍵盤中拼音輸入法的使用

cqltbe131421發表於2017-04-10


 

前面, 我寫了關於qt使用虛擬鍵盤的文章,但是,沒有些怎麼使用中文輸入,

今天我們來學習使用QT自帶的虛擬鍵盤輸入中文

首先是QT5.7版本,vs2013,配置好相關的環境變數

第二,下載5.7的原始碼

http://download.qt.io/official_releases/qt/5.7/5.7.0/single/qt-everywhere-opensource-src-5.7.0.zip

因為我們直接下載的安裝包是沒有包含任何輸入法的,除了英文,所以這裡我們需要將這個模組自己編譯進QT的安裝目錄裡

過程如下:

解壓原始碼包找到qtvirtualkeyboard資料夾

將他拷貝出來

修改原始碼:

1.設定可拖動;

在virtualkeyboard工程下,找到InputPanel.qml檔案

新增下面一段程式碼:

            property real mouseXTMP: 0

      property real mouseYTMP: 0
      MouseArea {
          anchors.fill: parent
          onPressed: {
              mouseXTMP = mouseX
              mouseYTMP = mouseY
          }
          onPositionChanged: {
              inputPanel.x = mouseX + inputPanel.x - mouseXTMP
              inputPanel.y = mouseY + inputPanel.y - mouseYTMP
          }
      }

然後重新編碼mingw32-make;mingw32-make install 

重新開啟basic示例程式,可以看到鍵盤可以拖動了,但是拖動到上面就不見了;

接下來,修改keyboard.qml檔案:

找到binding選項:修改如下:

Binding {

        target: InputContext
        property: "keyboardRectangle"
        value: Qt.rect(0,
                       0,
                     1900,1300)
        when: keyboard.active && !InputContext.animating
    }
將value修改為自己的解析度大小就可以了,其他不用改,修改後就可以將軟鍵盤拖動到隨意位置了
修改軟鍵盤大小:

找到style.qml(default目錄下的):修改下面兩項:

keyboardDesignWidth: 3060

keyboardDesignHeight: 600

但是軟鍵盤不能將寬度縮小,只能將高度變小(對於qml不是很瞭解,有知道怎麼改寬度的請指導下),

重新編譯後,就發現軟鍵盤可拖動,並且變小了。

我直接拷貝到桌面的,這樣使用方便一些

接著我們開啟QT的命令列工具

輸入命令:

cd C:\Users\Administrator\Desktop\qtvirtualkeyboard

進入到qtvirtualkeyboard目錄

再輸入:

  • qmake CONFIG+="lang-en_GB lang-zh_CN"

    這句的意思就是新增中文輸入支援

    然後開啟:vs2013的命令列工具

     

     

    輸入:

  • nmake

    我們可以看到:

    接著輸入:

    nmake install

    完成:

    我們接著建立一個專案來看看

    執行一下試試:

     

     

     

相關文章