重载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)
本博客展示了如何在特定应用程序中自定义Caps Lock状态提示框,并通过GetKeyState(VK_CAPITAL)来实时更新其显示状态。
458





