如何在Qt中发布组合键事件,如CTRL-L
我知道如何发布单关键事件如何在Qt中发布组合键事件,如CTRL-L,qt,qkeyevent,qkeysequence,Qt,Qkeyevent,Qkeysequence,我知道如何发布单关键事件 QKeyEvent *poKeyEvent = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier); QCoreApplication::postEvent (this, poKeyEvent); 现在我想发布一组关键事件 例如QKeySequence(tr(“Ctrl+L”) 这是发布关键序列事件的正确方式吗 // First key event - 'Ctrl'
QKeyEvent *poKeyEvent = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier);
QCoreApplication::postEvent (this, poKeyEvent);
现在我想发布一组关键事件
例如QKeySequence(tr(“Ctrl+L”)代码>
这是发布关键序列事件的正确方式吗
// First key event - 'Ctrl'
QKeyEvent *poFirstKeyEvent = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Control, Qt::NoModifier);
QCoreApplication::postEvent (this, poFirstKeyEvent);
// Second key event - 'L'
QKeyEvent *poSecondtKeyEvent = new QKeyEvent ( QEvent::KeyPress, Qt::Key_L, Qt::NoModifier);
QCoreApplication::postEvent (this, poSecondtKeyEvent);
还有其他方法来实现这一点吗
谢谢,我认为对于CTRL+L
你应该像这样对它:newqkeyevent(QEvent::KeyPress,Qt::Key_L,Qt::ControlModifier)
,即只应使用L
键和Ctrl
修饰符发送单个按键事件。这是关于按键组合而不是顺序的。。我是在@vahancho评论后得到的。