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);
}
});
}
就这几行代码就足够了。然后结果就是这样:
应该足够精炼了吧