Qt 5.7及以上版本支持了虚拟键盘的支持,但是这个虚拟键盘太不好用,占据半个屏幕,而且不能放大缩小,不能拖动

首先,下载Qt虚拟键盘源码并解压,并切换到该目录下

然后配置支持中文:

qmake CONFIG+="lang-en_GB lang-zh_CN"  ,默认支持英文,lang-zh_CN就是中文支持选项

mingw32-make

mingw32-make install

这样就编译成功,可以用Qt creator打开Qt自带的虚拟键盘例程(basic.pro)可以看到原生的Qt自带的软键盘,很丑,而且不可拖动,不可缩放,占据大半个屏幕

修改源码:

1.设置可拖动;

在virtualkeyboard工程下,找到InputPanel.qml文件

添加下面一段代码:

propertyrealmouseXTMP:0

propertyrealmouseYTMP: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不是很了解,有知道怎么改宽度的请指导下),

重新编译后,就发现软键盘可拖动,并且变小了。

要是有好的改动方法,一起讨论。

linux qt5.7以上软键盘,Qt5.7以上调用虚拟键盘(支持中文),以及源码修改(可拖动,水平缩放)...相关推荐

  1. Qt5.7以上调用虚拟键盘(支持中文),以及源码修改(可拖动,水平缩放)

    Qt 5.7及以上版本支持了虚拟键盘的支持,但是这个虚拟键盘太不好用,占据半个屏幕,而且不能放大缩小,不能拖动 首先,下载Qt虚拟键盘源码并解压,并切换到该目录下 然后配置支持中文: qmake CO ...

  2. Qt-Arm交叉编译以及调用虚拟键盘(中英)

    环境:Qt5.15.1 交叉编译链:海思的板子,arm-himix200-linux- demo代码:Qt-Qml混合编程 第一步:环境搭建 1:从官网下载源码https://download.qt. ...

  3. 【图像去噪】基于matlab小波滤波(硬阙值+软阙值)+中值滤波图像去噪【含Matlab源码 462期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab小波滤波(硬阙值+软阙值)+中值滤波图像去噪[含Matlab源码 462期] 获取代码方式2: 通过订阅紫极神光 ...

  4. 小程序input调用虚拟键盘阻止系统键盘与虚拟键盘点击穿透问题

    解决小程序input调用虚拟键盘并阻止调用系统键盘问题与虚拟键盘点击穿透导致下方input获焦问题 点击input弹出虚拟键盘,并不调起系统键盘解决方案 wxml代码 <input type=& ...

  5. 谷歌拼音输入法PinyinIME源码修改----随着Setting中中英文的切换对应改变软键盘中英文输入且字符变换

    项目中使用的是Google的输入法:谷歌拼音输入法,即PinyinIME. 客户提出需求:需要在Setting中切换中英文的时候,输入法对应成中英文输入,并且字符也对应成中英文,即Setting中设置 ...

  6. Qt 软键盘的实现(QWidget),支持中文输入法、数字、英文切换

    **出发点:由于Qt自带的软键盘是QML的,如果使用QWidget模式去编写调用自带的软键盘的话,在ARM下运行会全屏漆黑,并不是我们想要的效果,所以,在网上搜了很多的资料,自己去做了自制键盘,在项目 ...

  7. Qt调用虚拟键盘(软键盘)

    qt作为一个好用的Ui交互制作工具,怎么能缺少外部的IO设备. 在一些应用场景,往往需要一个软键盘(虚拟键盘),闲话少说,直接上方案: 1.首先托几个能输入的控件,外加一个按钮 2. 写代码就完事了: ...

  8. html win10虚拟键盘,五种打开win10虚拟键盘的方法 win10虚拟键盘快捷键

    电脑在使用的过程中,有时会遇到只有鼠标或实体键盘部分按键失灵,或为了体验系统自带的虚拟键盘等情况.此时就需要开启系统的屏幕键盘.屏幕键盘是一个模拟键盘的系统软件,必要的时候可以代替物理键盘Win10做 ...

  9. 【Linux 内核 内存管理】Linux 内核堆内存管理 ② ( 动态分配堆内存方式 | brk 系统调用 | mmap 系统调用 | brk 系统调用源码介绍 )

    文章目录 一.Linux 系统 动态分配堆内存 方式 二.brk 系统调用 动态分配堆内存 一.Linux 系统 动态分配堆内存 方式 Linux 系统中 , 提供了 222 种方式 进行 " ...

最新文章

  1. Windows Server2016 安装及配置DFS实现数据复制
  2. mysql trigger before insert_在MYSQL中创建一个BEFORE INSERT TRIGGER
  3. 【LeetCode】排序
  4. 体验.net2.0的优雅(4):Provider、策略、控制反转和依赖注入
  5. Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
  6. Python内置函数(30)——super
  7. Redola.Rpc 的一个小目标:20000 tps
  8. 字符串模式匹配——最长公共子序列与子串 KMP 算法
  9. 我的世界服务器怎么弄无限急迫,我的世界有什么指令设置无限急迫
  10. java 爬虫 sessionid_java爬虫实战之模拟登陆
  11. xml.html一键解密工具,华为配置加解密工具
  12. 整流七 - 三相PWM整流器—公式推导篇
  13. 什么是软件测试?简介,基础知识和重要性
  14. 北京药监局考试计算机操作,考科一电脑操作
  15. 第七章 为什么巴比伦塔会失败
  16. 激活后服务器无限重启,服务器无限重启
  17. SQL获取当前时间| 日期| SQL时间格式| SQL时间截取| getdate()用法
  18. html怎么用空格占位符,HTML空格占位符
  19. 人脸识别准确概率计算——超详细
  20. 交换机断网的原因分析

热门文章

  1. 谁在用区块链解决汽车数据产业乱象?自下而上的数据确权之争
  2. 浅析:OTN中的AMP/BMP/GMP/GFP-F映射
  3. 苹果电脑拷贝文件到u盘很慢_电脑文件需要拷贝到另外一台电脑,U盘太慢怎么办?一根网线解决你的烦恼...
  4. 从踌躇满志到麻木不仁
  5. 记四至六月:春华秋实,做好当下,切勿急躁,避免焦虑
  6. modelsim仿真之do文件
  7. 移动端html如何加载优酷视频,网站怎么引用优酷腾讯视频并支持手机播放
  8. 跳表-skiplist的简单实现
  9. 无人机电池能不能上高铁以及什么型号的电池可以上高铁
  10. 马云2017年数博会全文实录:IOT、大数据将对传统制造业带来巨大的冲击!