代码如下:
hello.h
# include <qapplication.h>
# include <qwidget.h>
# include <qtimer.h>
# include <qlist.h>
# include <qpainter.h>
class MyMainWindow:public QWidget
{
//Q_OBJECT
public:
MyMainWindow(QWidget *parent=0);
void paintEvent(QPaintEvent*);
private slots:
void slotread();
private:
QPushButton * b1;
QTimer * readtimer;
};
struct Point
{
int x,y;
};
hello.cpp
# include "hello.h"
QList<Point> pa;
int i=50;
MyMainWindow::MyMainWindow(QWidget *parent):QWidget(parent)
{
readtimer=new QTimer(this);
QObject::connect(readtimer,SIGNAL(timeout()),this,SLOT(slotread()));
readtimer->start(2000);
}
void MyMainWindow::slotread()
{
readtimer->stop();
Point *p=new Point;
p->x=i++;
p->y=i++;
pa.append(p);
readtimer->start(2000);
repaint(p->x,p->y,1,1);
}
void MyMainWindow::paintEvent(QPaintEvent*)
{
QPainter p;
p.begin(this);
p.setPen(QPen(Qt::black));
Point *b;
for(b=pa.first();b!=0;b=pa.next())
p.drawPoint(b->x,b->y);
p.end();
}
问题是qtimer的槽连接不上或信号发不出来,画不出点来.请大家指点一下,谢谢!
[ 此贴被fanyu在2005-10-10 10:47重新编辑 ]