问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Qt虚拟键盘实现教程:从集成到自定义修改

创作时间:
作者:
@小白创作中心

Qt虚拟键盘实现教程:从集成到自定义修改

引用
CSDN
1.
https://blog.csdn.net/weixin_68007995/article/details/137686272

在嵌入式开发中,虚拟键盘是常见的用户交互组件。本文将介绍如何使用开源项目QtKeyboard,在Qt项目中实现全尺寸功能键盘,并分享具体的集成步骤和自定义修改方法。

在嵌入式领域,我们可能需要在项目中设计虚拟键盘供用户使用。之前只实现过数字键盘,要实现全尺寸功能键盘,首先想到的是学习官方例程,但是官方使用QML实现。经过漫长的查找和筛选,选择使用QtKeyboard项目,该项目的GitHub地址为:https://github.com/aeagean/QtKeyboard

项目运行效果如图:

那么如何将键盘添加到自己的项目中,并按需修改呢?接下来分享具体的集成步骤:

  1. 将键盘类文件导入
    打开Keyboard文件,将所有资源文件复制到自己的项目目录下,然后在项目中添加现有文件

  2. 将Resource文件复制到项目目录,然后在项目中新建Qt资源文件并添加.qrc文件

  3. 在项目.pro文件下启用汉字库(可以参考源项目的.pro文件)

  4. 在需要用到键盘的页面导入头文件并声明Keyboard对象,至此我们的虚拟键盘已经建立成功

在页面中还可以添加一个QLineEdit显示数据方便保存发送到主窗口,弹出的键盘页面如下:

后续:更改样式 | 修改按钮功能

更改样式:可以在KeyButton.cpp文件找到作者的 DEFAULT_STYLE_SHEET 修改,也可以在自己的.ui文件中直接给QPushButton组件设置样式覆盖,不必多说

修改按钮功能:原Enter键是换行功能,如果需要改成保存文本并发送sendData信号,那么查阅现有代码后,找到绑定功能按键函数的部分

可以看到这里为功能按键绑定了自定义点击事件,找到Key_Enter并跳转到switchEnter(),在里面实现自己的逻辑代码。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号