#include <QtGui>
#include "inputcontrol.h"
InputControl::InputControl(QWidget *parent) : QWidget(parent)
{
edit1 = new QLineEdit(this);
edit2 = new QLineEdit(this);
edit3 = new QLineEdit(this);
edit1->setGeometry(10, 10, 200, 30);
edit2->setGeometry(10, 50, 200, 30);
edit3->setGeometry(10, 90, 200, 30);
}
void InputControl::keyPressEvent(QKeyEvent *e)
{
switch (e->key())
{
case Qt::Key_Enter: //这里如果改成Qt::Key_Control就能实现Tab功能
focusNextPrevChild(true);
break;
}
}
+++++++++++++++++++++++++++++++++++
上面是我写的一段代码,想要实现的功能是:当我在LineEdit中(三个中的任何一个)输入完之后,按一下Enter后,光标自动转到下一个LineEdit中(相当于我按下了Tab键一样)。
现在的问题是如程序所写,这个功能无法实现(象注释那样就可以)。请那位大侠指点一下要如何做才能正确实现这个功能呢。
如果方便可以说一下是为什么吗?
另外如果我想屏掉系统的快捷键,让我定义的起作用要如何做呢?