qt作为一个好用的Ui交互制作工具,怎么能缺少外部的IO设备。
在一些应用场景,往往需要一个软键盘(虚拟键盘),闲话少说,直接上方案:
1.首先托几个能输入的控件,外加一个按钮
2. 写代码就完事了:
#include "keyBoard.h"#include<windows.h>keyBoard::keyBoard(QWidget *parent): QMainWindow(parent){ui.setupUi(this);connect(ui.pushButton, &QPushButton::clicked, [&] {void* keyBoard = nullptr;bool m_b = Wow64DisableWow64FsRedirection(&keyBoard);QString boardExe = "C:/Windows/System32/osk.exe";QString params = "";ShellExecute(nullptr, L"open", (LPCWSTR)boardExe.utf16(), (LPCWSTR)params.utf16(), nullptr, SW_SHOWNORMAL);if (m_b){Wow64RevertWow64FsRedirection(keyBoard);}});}
就这几行代码就足够了。然后结果就是这样:
应该足够精炼了吧