Hi, i'm a novice ,this confused me a lot.
This program's purpose is: When the key_Up pressed the cursor move up 50 pixel.but it doen't move at all. .
Sorry for my poor English.

//**********************************
/*movecurosr.h*/
#ifndef MOVECURSOR_H
#define MOVECURSOR_H

#include<qwidget.h>
#include<qevent.h>
#include<qcursor.h>

class MoveCursor: public QWidget
{
public:
MoveCursor(QWidget *paren=0, const char *name=0);
private:
void keyPressEvent( QKeyEvent *);
QCursor *pCursor;
};

#endif

//**********************************
/*movecurosr.cpp*/
#include"movecurosr.h"

MoveCursor::MoveCursor(QWidget *parent, const char *name): QWidget(parent,name)
{
pCursor = new QCursor;
setFixedSize(640,480);
setFocusPolicy(QWidget::StrongFocus);
}
void MoveCursor::keyPressEvent( QKeyEvent * event)
{
QPoint posUp(0,-50);
QPoint posTmp;
int key = event->key();
if (key == Key_Up)
{
posTmp=pCursor->pos()+posUp;
pCursor->setPos(0,0);
cout<<pCursor->pos().rx()<<" "<<pCursor->pos().ry()<<endl;
}
//.....

}

//**********************************
/*main.cpp*/
#include<qapplication.h>
#include"movecursor.h"

int main(int argc,char **argv)
{
QApplication app(argc, argv, "moveCursor");
MoveCursor *pMoveCursor = new MoveCursor();
pMoveCursor->show();
app.setMainWidget(pMoveCursor);
return(app.exec());

}