I wanted to draw a triangle. But I face too many errors.
It doesn’t recognize poly, qpoint and *e
.
How can I fix this?
#include "dialog.h"
#include "ui_dialog.h"
#include <QtCore>
#include <QtGui>
#include <QGraphicsScene>
#include <QGraphicsEllipseItem>
#include <qpainter.h>
#include <QPolygon>
#include <QPoint>
#include <QPainter>
#include <QPaintEvent>
Dialog::Dialog(int a1, int b1, int a2, int b2, int a3,
int b3, char t, QWidget *parent):
QDialog(parent),
ui(new Ui::Dialog),
x1(a1), x2(a2), x3(a3), y1(b1), y2(b2), y3(b3), type(t)
{
ui->setupUi(this);
scene = new QGraphicsScene(this);
scene = new QGraphicsScene(this);
ui->graphicsView->setScene(scene);
QBrush redBrush (Qt::red);
QPen blackpen(Qt::black);
blackpen.setWidth(1);
if(type == 'c')
ellipse = scene->addEllipse(0, 0, 10, 10, blackpen, redBrush);
else if(type == 'l')
{
// Draw line
}
else
{
// Draw traingle
paintEvent(QPaintEvent *e);
}
}
void Dialog::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
QPolygon poly;
poly «QPoint(100, 150);
poly «QPoint(90, 130);
poly «QPoint(120, 130);
QPen linepen;
linepen.setWidth(8);
linepen.setColor(Qt::red);
linepen.setJoinStyle(Qt::MiterJoin);
painter.setPen(linepen);
QBrush fillbrush;
fillbrush.setColor(Qt::red);
fillbrush.setStyle(Qt::SolidPattern);
QPainterPath path;
path.addPolygon(poly);
painter.drawPolygon(poly);
painter.fillPath(path, fillbrush);
}
Dialog::~Dialog() {
delete ui;
}
Errors:
error: 'e' was not declared in this scope
error: stray '\302' in program
poly « QPoint(120, 130);
^