QTE 重载了paintEvent()后报错 line 1: syntax error: "(" unexpected
求教:
QT:4.5.3
QTE:4.5.3
编译环境:arm-none-linux-gnueabi-g++
我在PC机把程序交叉编译后,下载到ARM中去后,程序运行正常。但是一旦代码中重载了paintEvent()后,就会报错:line 1: syntax error: "(" unexpected 。求教这是为什么呢?难道是库文件不全,还是版本有问题?
烦请指教!
我做了个空的Dialog,ARM能显示,但是我一旦画图形,就报错了。
代码如下:
//main.cpp
#include <QApplication>
#include "draw.h"
int main(int argc, char **argv)
{
QApplication app(argc, argv);
Draw *dialog = new Draw;
dialog->show();
app.connect( &app, SIGNAL( lastWindowClosed() ), &app, SLOT( quit() ) );
app.exec();
}
//Draw.h
#ifndef DRAW_H
#define DRAW_H
#include <QTimer>
#include <QDialog>
#include "ui_drawpic.h"
class Draw : public QDialog, public Ui_Dialog
{
Q_OBJECT
public:
Draw( QDialog *parent=0, Qt::WindowFlags f=0 );
protected:
void paintEvent(QPaintEvent *event);
};
#endif
//draw.cpp
#include "draw.h"
#include <QDialog>
#include <QPainter>
using namespace std;
Draw::Draw( QDialog *parent, Qt::WindowFlags f ) : QDialog( parent, f )
{
setupUi(this);
}
void Draw::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black,1,Qt::DashDotLine, Qt::RoundCap));
// painter.setBrush(QBrush(Qt::green),Qt::SolidPattern);
painter.drawEllipse(0,0,200,240);/**/
painter.setPen(QPen(Qt::blue,1,Qt::DashDotLine, Qt::RoundCap));
painter.drawRect(0,0,this->width(),this->height());
painter.end();
}