Linux QT下实现简易虚拟键盘
软件需要在仪器上面跑,故需要设计一个虚拟键盘来实现用户的输入。
实现思路比较简单,键盘上各个字母数字由一个个Btn组成,通过QT的信号槽机制来达到用户点击各个按钮来触发信号,从而实现模拟键盘点击。键盘UI如下
简易键盘UI如图所示,1-9 a-z 以及点击Caps来达到切换大小写的功能。
Caps点击代码(QT信号槽)
static bool bCaps=false; //用来做标识if(bCaps){ui->btnA->setText("a");ui->btnB->setText("b");ui->btnC->setText("c");ui->btnD->setText("d");。。。。。bCaps=false;}else{ui->btnA->setText("A");ui->btnB->setText("B");ui->btnC->setText("C");ui->btnD->setText("D");....bCaps=true;}
UI最上方的输入框对应用户的每次点击,所有的数字,字母都对应同一个槽函数。
if(ui->inputEdit==NULL){return;}QString str=ui->inputEdit->text();QPushButton *btn=(QPushButton *)this->focusWidget(); //取到用户点击的按钮str+=btn->text();//拿到用户点击按钮的Textui->inputEdit->setText(str);//赋值给输入框}
一个简易的虚拟键盘的输入就实现啦
Linux QT下实现简易虚拟键盘相关推荐
- Qt自己编写keyboad虚拟键盘
由于项目中有需要用到虚拟键盘,首先想到的是系统自带的,笔者是Ubuntu16+Qt5.9. 1.系统虚拟键盘的优缺点: 优点:直接可以脚本调起,功能完善,稳定.外观完美. 缺点:定制麻烦(详情看onb ...
- linux+Qt 下利用D-Bus进行进程间高效通信的三种方式
linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...
- 超详细:实现过程-Linux 环境下的简易聊天室,采用CS模型,实现多客户端之间的稳定数据传输。--注册和登录(但之后会连续更新内容,直至全部实现)
前言 在学完不够全面的Linux操作系统编程后(这也意味着我后期也要不断学习,这也符合我活到老学到老的人生观点),需要以一些项目来检测自己的所学,毕竟实践见真章. 所以在今后的几天里,我将以无界面聊天 ...
- Qt:5.7虚拟键盘中拼音输入法的使用
引言 在Qt5.7中,以前只有企业版才有的虚拟键盘,终于可以在开原版中使用了. 但是默认的Qt安装包,安装出来的虚拟键盘,是不包含拼音输入法的,这里我来说下怎么打开拼音的支持,以及使用了虚拟键盘后,项 ...
- QML之ubuntu下编译安装虚拟键盘中文输入法
写在前面 1.一个兼容性问题:ubuntu14.04 + qt5.7以上版本开发时会遇到各种问题,多是由于类似于编译器等版本过低或者不兼容导致.建议使用ubuntu16.04 + qt5.9开发,两个 ...
- android 键盘按下事件,Android虚拟键盘上下左右键按下和弹起的响应事件
//按键按下,所触发的事件 public boolean onKeyDown(intkeyCode, KeyEvent event) {switch(keyCode) {caseKeyEvent.KE ...
- 2021.10.02超详细实现过程-Linux 环境下的简易聊天室,采用CS模型,实现多客户端之间的稳定数据传输。(添加好友,删除好友、屏蔽好友、查看好友列表(针对数据库的操作))
这次主要对加好友.删除好友.屏蔽好友.查看好友列表功能(单纯的基于数据库操作),并且也对之前的代码做了部分的改动,为中间涉及全局变量问题. 对之前的改动(主要): 其中对结构体进行了改动和结构体全局变 ...
- ubuntu下qt模拟键盘按键按下_基于QT的跨平台虚拟键盘设计与实现
摘 要: 针对QT在Windows.Linux.以及嵌入式Linux-arm等不同平台下没有开源.高效的虚拟键盘(包含中文输入法),以及QT版本升级造成代码不兼容等问题,设计并实现了一个跨平台的虚拟 ...
- ARM Linux QT虚拟键盘的系列问题
最近在做Linux系统的虚拟键盘功能,其中遇到很多问题,在此一一记录. 使用的系统平台为ARM Ubuntu18.04的系统,安装的QT版本为5.9.5,使用指令安装QT,安装后该版本QT默认不带虚拟 ...
最新文章
- Linux命令行下关机【Ubuntu】
- linux下查看十六进制文件方法
- matlab求矩阵中值函数,matlab在一个函数里,如何调用另一个函数里面求得的雅可比矩阵并赋值?...
- 中国移动2016年NAT独立设备集采:迪普科技连续三年入围
- 动手学PaddlePaddle(3):猫脸识别
- 碳达峰、碳中和带来的机遇和挑战研究报告
- 全新SpringBoot整合Elasticsearch6.xxx搜索引擎实战
- CSS样式(四)- CSS定位
- MySQL 5.7主从复制从零开始设置及全面详解——实现多线程并行同步,解决主从复制延迟问题!...
- mysql死锁自动处理方法_19. 死锁的产生和 MySQL 自动处理方式
- 良心安利三大游戏音效素材网站
- 35岁没成高管被优化了.... 网友炸了!!!
- 项目版本更新,浏览器缓存问题解决方案
- window如何连接mysql_window怎么连接mysql
- 《网络协议从入门到底层原理》学习笔记
- The7th Zhejiang Provincial Collegiate Programming Contest-Problem A:A - Who is Older?
- 畅玩新方式 | Google Play 游戏 Beta 版在 PC 上发布
- 信息融合发展沿革与技术动态
- 从浏览器中打开我们的应用
- jQuery - 基于serializeArray的serializeObject
热门文章
- Eclipse环境设置导出
- VB 2010 (6) date datetime dateandtime
- Memcached服务应用实践
- python3中数字类型有哪些_Python3数据类型—列表 | 吴老二
- SDH原理--3.开销和指针
- 采样频率和带宽的关系_发送端测试的主力设备 - 实时示波器朝向高带宽高位数发展...
- mt7601驱动加载
- CameraSR----Camera Lens Super-Resolution个人笔记
- 冬季要小心冷风引发过敏
- Chrome Webdriver的下载安装