Qt5.14.2使用虛擬鍵盤

語言: CN / TW / HK

說明

這是關於Qt5(Qt5.1.4.2),QWidget程式設計使用Qt虛擬鍵盤(qtvirtualkeyboard)

Tag: QT5,Qt,軟體盤、虛擬鍵盤,Widget程式,QML

作者:[email protected]

關鍵程式碼

啟用虛擬鍵盤模組

在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):