目录
  • 说明
  • 关键代码
  • 处理视图推拉
  • 独立运行

说明

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

关键代码

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

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

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

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

处理视图推拉

对于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();
}

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

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

独立运行

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

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。