ok here is my code

this is my widget .cpp file

Widget() //constructor
{
Label1=new QLabel(this);
button=new QPushButton(this);
Point->setx(0):
point->sety(0);
connect(button,SIGNAL(clicked()),this,SLOT(open()) );
}

void Widget:pen()
{
Image("E:\\new.tif"); //Image is object of QImage class declare in header file
Label1.setPix(Qt::Pixmap.fromImage(Image)); //that will draw image on QLabel
}

void Widget::QPaintEvent(QPaintEvent *e)
{
QPainter painter(this);
draw(&painter);
}

void Widget::draw(QPainter *painter)
{
Qimage imageicon("E:\\icon.png");
painter.drawImage(point,imageicon);
}

void Widget::mousePressEvent(QMousePressEvent *e)
{
point->setX(e->X()); //getting coordinate of image where i want to draw icon
point->setY(e->Y());
}

if there is something missing in code or some syntax error plz assume right one ...

now u get some idea about my code here my problem is that after clicking on a button it will set image on label then i clicked on that image i want icon at that place where i click but it will not appear on image it is behind the image
so my problem is that instead of QPainter painter(this)
can i write
QPainter painter(Label1);
so i can click on image that will draw icon on image.
which will return me something using that i can draw or mark on image
actually i m working in GIS field so i want to mark some point on image.....like i want to mark some house or some road or some palce.........my image is satellite image.......