2011-11-20 101 views
3

我正在制作一些将某些键盘快捷键映射到某个事件的应用程序。所以,我需要检测点击按钮后按下的键盘快捷键。例如,我有一个按钮上的文字“改变”。当我点击它时,它上面的文字变成“按键”,然后我需要用户键入他想要映射的快捷键,然后按钮的文本变成按下的键。 虽然网上冲浪,我只能够找到函数:Qt中的KeyPressEvent

​​

,但它不符合我的目的,因为我需要调用从限定的槽功能,此功能让我只能探测到时,我需要。任何人有任何想法如何实现这一点?

回答

6

您可以设置一个状态变量,指示用户按下按钮。然后该窗口会对下一个keyPressEvent做出反应(仅当设置了该状态变量时),然后重置状态变量。

void MainWindow::keyPressEvent(QKeyEvent *event) 
{ 
    if (process_key) { 
     /* Do whatever needs to be done */ 
     process_key = false 
    } 
}