我正在做一个Qt
项目,我想在编程中发送keyevent
到系统。
我已经尝试了下面的代码,但是它不起作用,
QKeyEvent event = QKeyEvent(QEvent::KeyPress, Qt::Key_B, Qt::NoModifier);
QApplication::sendEvent(this, &event);
为了让我的问题更清楚,我正在做的是:我在我的应用程序中生成 char
,然后想发送 keyevent
到 User.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/