quickNitin
12th May 2006, 13:03
hello everybody,
I am currently using qt3.3.4.
here is a piece code i am presenting for help. It is supposed to put
points on canvas after a interval. Co-ordinate point are store in a 2d
matrix a[][].canvas is object refrence to QCanvas class .
void addPoint()
{
QPixmap bck=canvas.backGround();
QPixmap *tpix=new QPixmap(canvas.width(),canvas.height());
QPainter p;
QRect r(0,0,canvas.width(),canvas.height());
QPoint pt(0,0);
p.begin(tpix);
for (int i=0; i<10;i++)
for(int j=0; j<10; j++)
{
p.fillRect(0,0,canvas.width(),canvas.height(),Qt:: white);
p.setPen(Qt::red);
p.drawEllipse(a[i][j],a[i][j],3,3);
bitblt(&bck,pt,tpix,r,Qt::AndROP);
canvas.setBackGround(bck);
sleep(1);
}
p.end;
}
Here addPoint is a slot connected to menu item.Matrix a is being filled through a fifo.
but this code is printing line in one go only after waiting for some time.
What iwant is i can view plotting of each point aftera interval( here i put
1 in sleep) ; Someone advised me using Qtimer but souldn't find exact way.
I am thinking of creating a thread which will do the reading from fifo and main application will do the gui handling. Can i use pthread library inside qt. I haven't used QThread earlier. Also can i create a thread from inside a slot.
Any help will be appreciable
regards
nitin
I am currently using qt3.3.4.
here is a piece code i am presenting for help. It is supposed to put
points on canvas after a interval. Co-ordinate point are store in a 2d
matrix a[][].canvas is object refrence to QCanvas class .
void addPoint()
{
QPixmap bck=canvas.backGround();
QPixmap *tpix=new QPixmap(canvas.width(),canvas.height());
QPainter p;
QRect r(0,0,canvas.width(),canvas.height());
QPoint pt(0,0);
p.begin(tpix);
for (int i=0; i<10;i++)
for(int j=0; j<10; j++)
{
p.fillRect(0,0,canvas.width(),canvas.height(),Qt:: white);
p.setPen(Qt::red);
p.drawEllipse(a[i][j],a[i][j],3,3);
bitblt(&bck,pt,tpix,r,Qt::AndROP);
canvas.setBackGround(bck);
sleep(1);
}
p.end;
}
Here addPoint is a slot connected to menu item.Matrix a is being filled through a fifo.
but this code is printing line in one go only after waiting for some time.
What iwant is i can view plotting of each point aftera interval( here i put
1 in sleep) ; Someone advised me using Qtimer but souldn't find exact way.
I am thinking of creating a thread which will do the reading from fifo and main application will do the gui handling. Can i use pthread library inside qt. I haven't used QThread earlier. Also can i create a thread from inside a slot.
Any help will be appreciable
regards
nitin