[英]Qt Key Event not behaving similar to keyboard
我正在嘗試以編程方式發送鍵盤按鍵。 此功能適用於Tab鍵和其他鍵,但不適用於空格。
Tab和Space的代碼如下所示:
QKeyEvent *event = new QKeyEvent(QKeyEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier);
QCoreApplication::postEvent(this->viewer, event);
QKeyEvent *event = new QKeyEvent(QKeyEvent::KeyPress, Qt::Key_Space, Qt::NoModifier);
QCoreApplication::postEvent(this->viewer, event);
當我以編程方式按Tab鍵時,它會在按鈕之間切換,但是當我以編程方式按空格鍵時,它不會按按鈕(它在按下時會變灰,但屏幕不會像應有的那樣改變)。 當我確實按下鍵盤上的空格鍵時,該按鈕將被按下,並且屏幕將發生變化。
知道為什么行為不一樣嗎?
解決方案是在發送KeyPress事件之后發送KeyRelease事件。 如此處所示:
QKeyEvent *event = new QKeyEvent(QKeyEvent::KeyPress, Qt::Key_Space, Qt::NoModifier);
QCoreApplication::postEvent(this->viewer, event);
QKeyEvent *event = new QKeyEvent(QKeyEvent::KeyRelease, Qt::Key_Space, Qt::NoModifier);
QCoreApplication::postEvent(this->viewer, event);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.