Qt判断大小写键Caps Lock状态

Qt判断大小写键Caps Lock状态_第1张图片

重载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)

你可能感兴趣的:(qt,capsLock)