2012-04-06 68 views
0

我需要傳遞多個按鍵的基礎上按下的狀態,以啓用Qt中的活動。最初我試圖使用QKeySequence來做同樣的事情,但它似乎並不是動態的。如何創建一系列的按鍵

keyPressEvent() { 
    if (keypress event) { 
    switch(keyevent->key()) { 
     Qt::Key_Alt: 
     "add this key to qkeysequence" 
     Qt::Key_Control: 
     "add this key to qkeysequence" 
     Qt::Key_Shift: 
     "add this key to qkeysequence" 
     Qt::Key_P: 
     "add this key to qkeysequence" 
    } 
    } 
    if (keyrelease event) { 
    switch(keyevent->key()) { 
     Qt::Key_Alt: 
     "remove this key from qkeysequence" 
     Qt::Key_Control: 
     "remove this key from qkeysequence" 
     Qt::Key_Shift: 
     "remove this key from qkeysequence" 
     Qt::Key_D: 
     "remove this key from qkeysequence" 
    } 
    } 

    handleKeySequence(qkeysequence); 
} 

handleKeySequence(qkeysequence) { 
    if (qkeysequence matches Qt::Key_Ctrl) do something 
    else if (qkeysequence matches Qt::Key_ctrl+Qt::Key_D) do something 
    .... other such sequences 
} 

然而QKeySequence似乎沒有做任何事情在那裏,嘗試了一些更多的選擇,並且他們不幫助不大無論是。

任何幫助將是偉大的,謝謝。

回答

0

看看QShortcut

還要檢查this post

+0

感謝伊萬,其實QShortcut不會爲我工作,而其他職位,並通過它而不會幫助我很多要麼...我想要做的是將多個鍵封裝到單個容器中,並將其發送到差異組件,並且他們應該能夠根據鍵處理它。 'QKeySequence'聽起來很完美,只是一旦創建便捷,我無法修改(添加按鍵或刪除按鍵)。 – Ravi 2012-04-06 17:08:00

相關問題