說明 這是關於Qt5(Qt5.1.4.2),QWidget編程使用Qt虛擬鍵盤(qtvirtualkeyboard) Tag: QT5,Qt,軟體盤、虛擬鍵盤,Widget程式,QML 作者:[email protected] 關鍵代碼 啟用虛擬鍵盤模塊 在QApplication對象創建之前插入代碼 ...
說明 這是關於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):