软件需要在仪器上面跑,故需要设计一个虚拟键盘来实现用户的输入。

实现思路比较简单,键盘上各个字母数字由一个个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下实现简易虚拟键盘相关推荐

  1. Qt自己编写keyboad虚拟键盘

    由于项目中有需要用到虚拟键盘,首先想到的是系统自带的,笔者是Ubuntu16+Qt5.9. 1.系统虚拟键盘的优缺点: 优点:直接可以脚本调起,功能完善,稳定.外观完美. 缺点:定制麻烦(详情看onb ...

  2. linux+Qt 下利用D-Bus进行进程间高效通信的三种方式

    linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...

  3. 超详细:实现过程-Linux 环境下的简易聊天室,采用CS模型,实现多客户端之间的稳定数据传输。--注册和登录(但之后会连续更新内容,直至全部实现)

    前言 在学完不够全面的Linux操作系统编程后(这也意味着我后期也要不断学习,这也符合我活到老学到老的人生观点),需要以一些项目来检测自己的所学,毕竟实践见真章. 所以在今后的几天里,我将以无界面聊天 ...

  4. Qt:5.7虚拟键盘中拼音输入法的使用

    引言 在Qt5.7中,以前只有企业版才有的虚拟键盘,终于可以在开原版中使用了. 但是默认的Qt安装包,安装出来的虚拟键盘,是不包含拼音输入法的,这里我来说下怎么打开拼音的支持,以及使用了虚拟键盘后,项 ...

  5. QML之ubuntu下编译安装虚拟键盘中文输入法

    写在前面 1.一个兼容性问题:ubuntu14.04 + qt5.7以上版本开发时会遇到各种问题,多是由于类似于编译器等版本过低或者不兼容导致.建议使用ubuntu16.04 + qt5.9开发,两个 ...

  6. android 键盘按下事件,Android虚拟键盘上下左右键按下和弹起的响应事件

    //按键按下,所触发的事件 public boolean onKeyDown(intkeyCode, KeyEvent event) {switch(keyCode) {caseKeyEvent.KE ...

  7. 2021.10.02超详细实现过程-Linux 环境下的简易聊天室,采用CS模型,实现多客户端之间的稳定数据传输。(添加好友,删除好友、屏蔽好友、查看好友列表(针对数据库的操作))

    这次主要对加好友.删除好友.屏蔽好友.查看好友列表功能(单纯的基于数据库操作),并且也对之前的代码做了部分的改动,为中间涉及全局变量问题. 对之前的改动(主要): 其中对结构体进行了改动和结构体全局变 ...

  8. ubuntu下qt模拟键盘按键按下_基于QT的跨平台虚拟键盘设计与实现

    摘  要: 针对QT在Windows.Linux.以及嵌入式Linux-arm等不同平台下没有开源.高效的虚拟键盘(包含中文输入法),以及QT版本升级造成代码不兼容等问题,设计并实现了一个跨平台的虚拟 ...

  9. ARM Linux QT虚拟键盘的系列问题

    最近在做Linux系统的虚拟键盘功能,其中遇到很多问题,在此一一记录. 使用的系统平台为ARM Ubuntu18.04的系统,安装的QT版本为5.9.5,使用指令安装QT,安装后该版本QT默认不带虚拟 ...

最新文章

  1. Linux命令行下关机【Ubuntu】
  2. linux下查看十六进制文件方法
  3. matlab求矩阵中值函数,matlab在一个函数里,如何调用另一个函数里面求得的雅可比矩阵并赋值?...
  4. 中国移动2016年NAT独立设备集采:迪普科技连续三年入围
  5. 动手学PaddlePaddle(3):猫脸识别
  6. 碳达峰、碳中和带来的机遇和挑战研究报告
  7. 全新SpringBoot整合Elasticsearch6.xxx搜索引擎实战
  8. CSS样式(四)- CSS定位
  9. MySQL 5.7主从复制从零开始设置及全面详解——实现多线程并行同步,解决主从复制延迟问题!...
  10. mysql死锁自动处理方法_19. 死锁的产生和 MySQL 自动处理方式
  11. 良心安利三大游戏音效素材网站
  12. 35岁没成高管被优化了.... 网友炸了!!!
  13. 项目版本更新,浏览器缓存问题解决方案
  14. window如何连接mysql_window怎么连接mysql
  15. 《网络协议从入门到底层原理》学习笔记
  16. The7th Zhejiang Provincial Collegiate Programming Contest-Problem A:A - Who is Older?
  17. 畅玩新方式 | Google Play 游戏 Beta 版在 PC 上发布
  18. 信息融合发展沿革与技术动态
  19. 从浏览器中打开我们的应用
  20. jQuery - 基于serializeArray的serializeObject

热门文章

  1. Eclipse环境设置导出
  2. VB 2010 (6) date datetime dateandtime
  3. Memcached服务应用实践
  4. python3中数字类型有哪些_Python3数据类型—列表 | 吴老二
  5. SDH原理--3.开销和指针
  6. 采样频率和带宽的关系_发送端测试的主力设备 - 实时示波器朝向高带宽高位数发展...
  7. mt7601驱动加载
  8. CameraSR----Camera Lens Super-Resolution个人笔记
  9. 冬季要小心冷风引发过敏
  10. Chrome Webdriver的下载安装