0
点赞
收藏
分享

微信扫一扫

QT虚拟键盘中拼音输入法的使用


 

前面, 我写了关于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文件夹

将他拷贝出来

QT虚拟键盘中拼音输入法的使用_c++

修改源码:

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的命令行工具

QT虚拟键盘中拼音输入法的使用_软键盘_02

输入命令:

cd C:\Users\Administrator\Desktop\qtvirtualkeyboard

进入到qtvirtualkeyboard目录

再输入:

  • ​qmake CONFIG+="lang-en_GB lang-zh_CN"​​​这句的意思就是添加中文输入支持
    然后打开:vs2013的命令行工具
  • QT虚拟键盘中拼音输入法的使用_c++_03



  • 输入:
  • ​nmake​​​我们可以看到:
    ​​

    QT虚拟键盘中拼音输入法的使用_qt_04

    QT虚拟键盘中拼音输入法的使用_软键盘_05

    ​​​接着输入:​​​​nmake install​​​

    QT虚拟键盘中拼音输入法的使用_c++_06

    ​​完成:
    我们接着建立一个项目来看看
  • QT虚拟键盘中拼音输入法的使用_qt_07

  • 运行一下试试:
  • QT虚拟键盘中拼音输入法的使用_命令行工具_08



举报

相关推荐

ubuntu qt使用搜狗输入法

0 条评论