autodrawline::autodrawline(QWidget *parent) : QWidget(parent)
{
//安装
this->installEventFilter(this);
//设置可获得焦点
this->setFocusPolicy(Qt::StrongFocus);
}
/***********************************************************************************
**功 能:消息过滤,按方向键相应移动光标
**函 数: bool autodrawline::eventFilter(QObject *obj, QEvent *e);
**输入 参数: @
**返 回 值:
**其 他:
************************************************************************************/
bool autodrawline::eventFilter(QObject *obj, QEvent *e)
{
QPoint point;
bool rst=false;
obj = obj;
if (e->type() == QEvent::KeyPress)
{
QKeyEvent *event = static_cast<QKeyEvent*>(e);
if (event->key() == Qt::Key_Left)
{
point = QCursor::pos();
point -= QPoint(X_STEP,0);
QCursor::setPos(point);
rst = true;
}
if (event->key() == Qt::Key_Right)
{
point =QCursor::pos();
point += QPoint(X_STEP,0);
QCursor::setPos(point);
rst = true;
}
}
return rst;
}