环境:Windows
工具:Qt
语言:C++
实现功能:用户在登录页可通过上下方向键改变光标位置,Enter登录
实现步骤:
1、在主窗体类loginDlg.h中声明键盘响应函数
protected:
void keyPressEvent(QKeyEvent *);
此处函数要注意大小写,函数变为斜体才说明是系统原带的函数,如果是自己另外声明的无法实现相应功能
2.在loginDlg.cpp中加入头文件
#include <QKeyEvent>
3.重写键盘响应函数,实现功能
void LoginDlg::keyPressEvent(QKeyEvent *e)
{
switch(e->key())
{
case Qt::Key_Up :
ui->usrLineEdit->setFocus();
break;
case Qt::Key_Down :
// QMessageBox::warning(this,tr("OK"),tr("成功"));
ui->PwdLineEdit->setFocus();
break;
case Qt::Key_Return :
Enternext();//登录
//QMessageBox::warning(this,tr("OK"),tr("成功"));
break;
}
}
usrLineEdit和PwdLineEdit分别是用户名和密码编辑框的对象;
在我的笔记本键盘上,Key_Up和Key_Down分别对应方向上下键,Key_Return对应Enter键;
Enternext()为登录操作;
setFocus()函数用于设置光标的位置。