Qt5.14.2使用虚拟键盘的关键代码

 更新时间:2022年09月08日 11:49:28   作者:Lee'sEngineer  
对于Qwidget程序,使用qtvirtualkeyboard弹出键盘之后,键盘会浮于表面。使用VirtualkeyboardPushView模块,自动根据情况把输入视图往上面推移,这篇文章主要介绍了Qt5.14.2使用虚拟键盘的关键代码,需要的朋友可以参考下

说明

这是关于Qt5(Qt5.1.4.2),QWidget编程使用Qt虚拟键盘(qtvirtualkeyboard)
Tag: QT5,Qt,软件盘、虚拟键盘,Widget程序,QML
 作者:474609810@qq.com

关键代码

启用虚拟键盘模块
在QApplication对象创建之前插入代码:

qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

 有这句话之后,QtCreator中运行程序即可有如下效果:(但存在键盘挡住输入框的问题,后面会解决)。

处理视图推拉

对于Qwidget程序,使用qtvirtualkeyboard弹出键盘之后,键盘会浮于表面。使用VirtualkeyboardPushView模块,自动根据情况把输入视图往上面推移,关键代码如下:

#include "mainwindow.h"
 
#include <QApplication>
#include "VirtualkeyboardPushView.h"
 
int main(int argc, char *argv[])
{
    /// 第一步
    qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
 
    QApplication a(argc, argv);
 
    /// 第二步
    VirtualkeyboardPushView keyboardHelper;
    keyboardHelper.makeCompilerHappy();
 
    MainWindow w;
    w.show();
    return a.exec();
}

  运行效果如下(对于新窗口也只会推动新的窗口):

独立运行

为了让程序独立运行,拷贝QT的库到运行目录,需要的库如下(Qt5.14.2 + vs2017 x86):

到此这篇关于Qt5.14.2使用虚拟键盘的文章就介绍到这了,更多相关Qt虚拟键盘内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • c++中的volatile和variant关键字详解

    c++中的volatile和variant关键字详解

    大家好,本篇文章主要讲的是c++中的volatile和variant关键字详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • QT中QByteArray与char、int、float之间的互相转化

    QT中QByteArray与char、int、float之间的互相转化

    本文主要介绍了QT中QByteArray与char、int、float之间的互相转化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • C++使用opencv处理两张图片的帧差

    C++使用opencv处理两张图片的帧差

    这篇文章主要为大家详细介绍了C++使用opencv处理两张图片的帧差,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • QTimer与QTime实现电子时钟

    QTimer与QTime实现电子时钟

    这篇文章主要为大家详细介绍了QTimer与QTime实现电子时钟,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Qt如何实现输入框@联系人的@检测的示例

    Qt如何实现输入框@联系人的@检测的示例

    本文主要介绍了Qt如何实现输入框@联系人的@检测的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • VC++实现通过API来查看程序错误信息的方法

    VC++实现通过API来查看程序错误信息的方法

    这篇文章主要介绍了VC++实现通过API来查看程序错误信息的方法,非常实用的功能,需要的朋友可以参考下
    2014-08-08
  • C++ Boost Parameter超详细讲解

    C++ Boost Parameter超详细讲解

    Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
    2022-11-11
  • Matlab中图像数字水印算法的原理与实现详解

    Matlab中图像数字水印算法的原理与实现详解

    数字水印技术作为信息隐藏技术的一个重要分支,是将信息(水印)隐藏于数字图像、视频、音频及文本文档等数字媒体中,从而实现隐秘传输、存储、标注、身份识别、版权保护和防篡改等目的。本文就来讲讲图像数字水印算法的原理与实现,感兴趣的可以了解一下
    2023-04-04
  • C语言代码实现简易扫雷

    C语言代码实现简易扫雷

    这篇文章主要为大家详细介绍了C语言代码实现简易扫雷,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • C语言超详细讲解栈与队列实现实例

    C语言超详细讲解栈与队列实现实例

    栈和队列,严格意义上来说,也属于线性表,因为它们也都用于存储逻辑关系为 "一对一" 的数据,但由于它们比较特殊,因此将其单独作为一章,做重点讲解
    2022-03-03

最新评论