直接绘图怎么感觉那么的慢啊?有什么办法可以提高绘图效率吗?
class MyScene : public QWidget
{
void paintEvent(QPaintEvent *event);
};
void MyScene::paintEvent(QPaintEvent *event)
{
int index=0;
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::blue, 2, Qt::SolidLine, Qt::RoundCap));
// painter.setBrush(QBrush(Qt::yellow, Qt::SolidPattern));
//painter.drawEllipse(80, 80, 400, 240);
painter.drawLine(RECTWIDTH,this->height()-RECTWIDTH,this->width()-RECTWIDTH,this->height()-RECTWIDTH);
painter.drawLine(RECTWIDTH,this->height()-RECTWIDTH,RECTWIDTH,RECTWIDTH);
painter.drawLine(this->width()-RECTWIDTH,this->height()-RECTWIDTH,this->width()-RECTWIDTH*1.5,this->height()-RECTWIDTH*0.5);
painter.drawLine(this->width()-RECTWIDTH,this->height()-RECTWIDTH,this->width()-RECTWIDTH*1.5,this->height()-RECTWIDTH*1.5);
painter.drawLine(RECTWIDTH,RECTWIDTH,RECTWIDTH*1.5,RECTWIDTH*1.5);
painter.drawLine(RECTWIDTH,RECTWIDTH,RECTWIDTH*0.5,RECTWIDTH*1.5);
painter.setPen(QPen(QColor(12,23,56,23), 1, Qt::DotLine, Qt::RoundCap));
for(index=2;index<(this->height()/RECTWIDTH);++index)
{
painter.drawLine(RECTWIDTH+1,this->height()-RECTWIDTH*(index),this->width()-RECTWIDTH,this->height()-RECTWIDTH*(index));
}
for(index=2;index<(this->width()/RECTWIDTH);++index)
{
painter.drawLine(RECTWIDTH*(index),this->height()-RECTWIDTH,RECTWIDTH*(index),RECTWIDTH);
}
}