QT 虚拟键盘

  • 说明
  • 总结

说明

程序应用场景:window电脑,Linux电脑直接调用系统键盘,嵌入式触摸屏开发板,需要自己写不能直接调用,涉及代码量较多,不在这里进行举例说明,可直接下载源代码例子。这是我很久以前写的例子了,就可能会有很多问题,现在更改过的我又懒得打包。

 int main(int argc, char *argv[]){QApplication a(argc, argv);a.setAutoSipEnabled(true); // 自动弹出系统软键盘TestAnn w;w.showMaximized();return a.exec();}



触摸屏点击LineEdit弹出键盘需要重写QLineEdit类,下面是键盘弹出回传数据显示部分代码展示

/******弹出字母键盘********/
void MainWindow::lineEditClickedVirtualkeyboard()
{QLineEdit* lineedit = (QLineEdit*)sender();  // 获取到了发送该信号按钮的指针lineeditname = lineedit->objectName();lineedit->setStyleSheet("background-color: rgb(252, 233, 79); border-style: outset;border-width: 2px;border-radius:10px; border-color: rgb(52, 101, 164);min-width:2em;padding: 5px;");VirtualKeyboard *v = new VirtualKeyboard;connect(this,SIGNAL(sendData(QString)),v,SLOT(reciverData(QString)));emit sendData(NULL);v->setWindowModality(Qt::ApplicationModal);
//    v->setWindowModality(Qt::WindowModal);
//    v->setWindowFlags(Qt::WindowStaysOnTopHint);v->show();
}
/******弹出数字键盘*********/
void MainWindow::lineEditClickedDigitalkeyboard()
{QLineEdit* lineedit = (QLineEdit*)sender();  // 获取到了发送该信号按钮的指针lineeditname = lineedit->objectName();lineedit->setStyleSheet("background-color: rgb(252, 233, 79); border-style: outset;border-width: 2px;border-radius:10px; border-color: rgb(52, 101, 164);min-width:2em;padding: 5px;");DigitalKeyboard *v = new DigitalKeyboard;connect(this,SIGNAL(sendData(QString)),v,SLOT(reciverData(QString)));emit sendData(NULL);v->setWindowModality(Qt::ApplicationModal);
//    v->setWindowModality(Qt::WindowModal);
//    v->setWindowFlags(Qt::WindowStaysOnTopHint);v->show();
}
/********显示键盘传回的数据**********/
void MainWindow::textview()
{QLineEdit *lineedit = this->findChild<QLineEdit *>(lineeditname);lineedit->setText(VirtualkeyboardAndDigitalkeyboardData);
}
/*****不断刷新界面显示键盘回传数据*****/
void MainWindow::Timer_1()
{timer = new QTimer(this);connect(timer,SIGNAL(timeout()),this,SLOT(textview()));timer->start(30);
}

例子运行环境,Linux下QT5.12.2板子,开线程和定时器用信号与槽完成
链接:https://pan.baidu.com/s/11QteT9t_VIqaJbMnLSElsA ;
提取码:efol
有需自取

总结

抛砖引玉,自己手搓输入法真的难受,有点烦不知道要不要做个越南文的输入键盘,工作真麻烦!

QT 虚拟键盘 可进行中英输入【C++】相关推荐

  1. Qt 虚拟键盘实现中文输入

    在不启动Linux图形界面启动运行的应用程序开发,QML应用界面输不了中文,此时使用Qt自带的虚拟键盘可以解决中文输入的需求. 一.Qt 虚拟键盘中文输入法编译安装 安装完Qt开发包,如安装的目录在/ ...

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

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

  3. Qt虚拟键盘相关内容

    收集一些关于Qt虚拟键盘的内容,仅供参考.   商业版什么时候就有? Qt虚拟键盘(1.0版本)最早出现在Qt Enterprise Embedded 5.3.0中(2014-05-22)   开源版 ...

  4. Qt虚拟键盘更新,支持手写识别功能

    Qt官方博客发布消息称,新版本的Qt虚拟键盘支持手书写识别功能(HWR).性能改进.Nuance T9书写一体化,并支持繁体中文! Qt虚拟键盘日前发布了新功能和版本控制方案的更新.作为最近的许可变更 ...

  5. qt 虚拟键盘中的几个瑕疵

    最近使用了下面楼主的虚拟键盘,总体还是挺好用的,只是有几个地方,需要完善下. 基于Qt的可用于嵌入式的虚拟键盘_偷段代码的博客-CSDN博客_qt 嵌入式虚拟键盘这几天完成了一个基于Qt的虚拟键盘的编 ...

  6. [QDialog]qt虚拟键盘的实现以及qdateedit实现打开虚拟键盘

    一.虚拟键盘的拖动 首先,实现虚拟键盘的拖动功能就需要对QDialog的鼠标事件进行重写,所以就需要自己写一个继承于QDialog的子类. 这里代码参考qt实现窗口拖动的两种思路_肩上风骋的博客-CS ...

  7. QT 虚拟键盘使用问题

    完整项目地址: https://download.csdn.net/download/qq_32854345/87173147?spm=1001.2014.3001.5501 将虚拟键盘编译,并生成动 ...

  8. rk3588安装qt虚拟键盘

    qt是默认安装的,版本号为5.12.8,但是没有虚拟键盘模块,项目中需要,就采用源码编译的方法执行 下载源码 源码地址为Index of /archive/qt/5.12/5.12.1/submodu ...

  9. html win10虚拟键盘,Win10系统中内置虚拟键盘过大应该如何解决?

    win10系统中虚拟键盘过大怎么办?用过Win10系统的用户都知道,在系统是有内置虚拟键盘的,用来应付简配设备突然坏了的情况.但有用户表示开启的虚拟键盘太大,占据了太多电脑屏幕,将其他应用程序给遮挡住 ...

最新文章

  1. JDK 竟然是这样实现栈的?
  2. ROS之用程序设定导航目标点
  3. mysql日期函数 简书_ios怎样搭建php服务器
  4. 【建议】如何优雅的提问?
  5. Android 最简单的MVP案例;
  6. java中XPATH操作xml,非常便捷
  7. 排序算法第四篇——冒泡排序
  8. Web Control开发随笔(4):Control与WebControl 的Properity初探
  9. 动态规划算法 dynamic programming
  10. Juniper SSG20 Config DHCP Server
  11. 库存管理软件挑选窍门:怎么才算合格的库存管理软件?
  12. vmware workstation 12 打开vm14 不兼容问题解决
  13. matlab 倒位序fft程序,[转载]MATLAB的一个FFT程序
  14. python中os关于目录创建和文件移动操作
  15. Windows 超级终端设置
  16. 微信公众号 关注推送消息报错 45047
  17. elementui表格序号自增
  18. 刘未鹏:怎样花两年时间去面试一个人
  19. 【Practical】线性空间
  20. Xsell中常用的Linux命令

热门文章

  1. python挂机脚本怎么运行_Python的自动操作(挂机)脚本相关1
  2. android 屏幕翻转问题
  3. 嵌入式学习笔记——概述
  4. 简述胶球清洗装置的工作原理(附安装示意图)
  5. Windows系统搭建gtk+-2.0开发环境教程
  6. Python提取 “Excel文本框” 内容,这个需求头一次见,1000个表,10行代码!
  7. excel 单元格如何获取textbox中的值 java,把excel表格数据定义为文本框-excel中如何将单元格里的数值显示在文本框(textbox)里...
  8. win2008r2hpc无盘服务器配置,20台无盘网吧服务器配置
  9. 俄罗斯方块(2013.9.27)
  10. 嵌入式代码中一些缩写名词的意义