Qt模拟按键以控制Linux中的SimpleScreenRecorder应用程序

时间:2018-03-08 09:35:20

标签: keypress qkeyevent keyrelease

我希望(在Linux中)通过使用模拟键按CTRL + SHIFT + R激活SimpleScreenRecorder来控制桌面录制。

SimpleScreenRecorder image

我试过这段代码:

QKeyEvent * eve1 = new QKeyEvent (QEvent::KeyPress,Qt::Key_R,Qt::ControlModifier|Qt::ShiftModifier,"r");
qApp->postEvent ((QObject*)this, (QEvent *)eve1);
QKeyEvent * eve2 = new QKeyEvent (QEvent::KeyRelease,Qt::Key_R,Qt::ShiftModifier|Qt::ControlModifier,"r");
qApp->postEvent ((QObject*)this, (QEvent *)eve2);

但这不起作用。 我可以将按键事件发送到ui-> lineEdit,但是无法将其发送到另一个正在运行的应用程序,在本例中为SimpleScreenRecorder。

我该如何解决这个问题? 感谢。

1 个答案:

答案 0 :(得分:0)

void MainWindow::on_pushButton_clicked()
{
 system("xdotool key \"control+shift+r\"");
}