Qt虚拟键盘实现

在嵌入式领域,我们可能需要在项目中设计虚拟键盘供用户使用,之前只实现过数字键盘,要实现全尺寸功能键盘,首先想到的是学习官方例程,但是官方使用QML实现,那么有没有好的开源虚拟键盘项目供我们学习使用呢。

经过漫长的查找和筛选,我选择了Qt君的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(),在里面实现自己的逻辑代码。

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu是一种流行的操作系统,而Qt是一种跨平台的应用程序开发框架。虚拟键盘是一种软件工具,可以在没有物理键盘的情况下进行输入操作。 在Ubuntu中,Qt提供了一种功能强大的方式来实现虚拟键盘。开发人员可以使用Qt的输入法框架,轻松地创建一个自定义的虚拟键盘应用程序或将其集成到自己的应用程序中。 使用Qt开发虚拟键盘具有许多优势。首先,Qt提供了丰富的组件和工具,可以轻松地创建各种输入界面。其次,Qt支持多种输入方法,包括触摸屏、鼠标和物理键盘等。这意味着开发人员可以根据不同设备和用户的需求定制虚拟键盘的功能和外观。 Qt还提供了用于处理输入文本的库和功能,使开发人员能够处理不同的语言、字符集和输入法规则。此外,Qt还支持自动完成和输入验证等输入辅助功能,提高了用户的输入效率和准确性。 对于用户来说,Ubuntu中的Qt虚拟键盘可以在没有物理键盘的情况下方便地进行文字输入。它可以作为一个独立的应用程序运行,也可以集成到其他应用程序中。用户可以通过轻触触摸屏或鼠标点击来进行输入操作,并享受到与物理键盘相似的输入体验。 总而言之,Ubuntu的Qt虚拟键盘提供了一种方便和灵活的输入解决方案。无论是开发人员还是用户,都可以从Qt强大的功能和易用性中受益,实现高效和便捷的键盘输入体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值