#include "mainwindow.h"#include <cmath>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ widget=new QWidget; QVBoxLayout *vb=new QVBoxLayout; widget->setLayout(vb); widget->setStyleSheet("background-color::white"); this->setCentralWidget(widget); this->setFixedSize(500,500); x = (- (3 * 3.14)) + 100; y = cos (x) + 100;}MainWindow::~MainWindow(){}void MainWindow::paintEvent(QPaintEvent *event){ QPainter *painter = new QPainter(this); QPen pen(QColor(Qt::darkGreen)); painter->drawPixmap(this->width(), this->height(), QPixmap()); pen.setWidth(2); painter->setRenderHint(QPainter::Antialiasing, true); painter->setPen(pen); painter->setBrush(Qt::darkGreen); while (x < 3 * 3.14 + 100){ prevX = x; prevY = y; x = x + 1; y = cos(x); curX = x; curY = y; painter->drawLine(prevX, prevY, curX, curY); } this->update();}
C++ (Qt)void MainWindow::on_pushButton_clicked(){ QPixmap pix(500, 500); QPainter painter(&pix); QPen pen(QColor(Qt::darkGreen)); painter.fillRect(QRect(0, 0, 500, 500), Qt::white); pen.setWidth(2); painter.setRenderHint(QPainter::Antialiasing, true); painter.setPen(pen); painter.setBrush(Qt::darkGreen); double prevX = 0/180.0*M_PI; double prevY = cos(prevX)*10+100; double curX; double curY; for (double i=1; i<720; i+=1) { curX = i/180.0*M_PI; curY = cos(curX); painter.drawLine(prevX, prevY, i, curY*10+100); prevX = i; prevY = curY*10+100; } ui->label->setPixmap(pix);}