Qt模拟键盘按键与组合键
生成键盘事件
QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_A, Qt::ControlModifier);
QCoreApplication::sendEvent(this, &keyPress);
QKeyEvent keyRelease(QEvent::KeyRelease, Qt::Key_A, Qt::ControlModifier);
QCoreApplication::sendEvent(this, &keyRelease);
接受键盘事件
if(event->modifiers() == Qt::ControlModifier)
{
if(event->key() == Qt::Key_A)
{
//做事情
}
}
需要注意的是:
if(QApplication::keyboardModifiers() == Qt::ControlModifier){
//并不能捕获模拟的键盘事件ctrl按下,需要从event里面去拿
}