c++ - Qt : How to send keyevent to system?

标签 c++ qt

我正在做一个Qt项目,我想在编程中发送keyevent到系统。

我已经尝试了下面的代码,但是它不起作用,

QKeyEvent event = QKeyEvent(QEvent::KeyPress, Qt::Key_B, Qt::NoModifier);

QApplication::sendEvent(this, &event);

为了让我的问题更清楚,我正在做的是:我在我的应用程序中生成 char,然后想发送 keyeventUser.exe ,以便 IME 可以捕获 input char。 (自定义输入法)

最佳答案

我认为 QApplication::sendEvent 不能实现你想要的。如果你的电脑连接了一个键盘,那么在“/dev/input”目录下有一个名为event0或event1或event3...的文件,一个文件对应你的键盘。你可以试试用linux API打开文件,构造input_event,然后把事件写入文件。然后您的应用程序将接受按键事件,就像您按下键盘上的某个键一样。

关于c++ - Qt : How to send keyevent to system?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26715945/

相关文章:

c++ - 为什么我的程序的 objdump -D 看起来和 .S 不一样

python - 如何使用背景图片设置QTableWidget左上角?

c++ - 在 Qt 类实例中访问(非指针)成员变量时出现段错误

c++ - 使用 QUdpSocket 作为 QIODevice 的正确方法是什么?

qt - Qt Quick QML 中的位图字体

c++ - 在 QList 中获取所有 QLabels 表单 UI 的正确方法是什么?

c++ - 在模板参数中转发声明枚举类?

c++ - 理解 C++ 模板类

c++ - c++ 中的 time(NULL) 只计算秒,不计算毫秒

c++ - 为什么这段代码允许在 Visual Studio 2013 下编译?