重载KeyPressEvent() 和 KeyReleaseEvent() 函数:
void CLoginDlg::keyPressEvent(QKeyEvent *event)
{
if(event->key() == Qt::Key_CapsLock) {
if(LOBYTE(GetKeyState(VK_CAPITAL))) {
mp_capsWid->show();
}
else {
mp_capsWid->hide();
}
}
QDialog::keyPressEvent(event);
}
void CLoginDlg::keyReleaseEvent( QKeyEvent * event)
{
if(event->key() == Qt::Key_CapsLock) {
if(LOBYTE(GetKeyState(VK_CAPITAL))) {
mp_capsWid->show();
}
else {
mp_capsWid->hide();
}
}
QDialog::keyReleaseEvent(event);
}
mp_capsWid是我自定义的提示框.
我这里调用的是GetKeyState(VK_CAPITAL)