#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPaintEvent>
#include<QtGui>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
void Paint();
void Paint_2();
private:
Ui::MainWindow *ui;
QImage image;
QString expression;
QString expression_2;
QString expression_3;
int pointx;
int pointy;
protected:
void paintEvent(QPaintEvent *){
QPainter painter(this);
painter.drawImage(0,0,image);
}
private slots:
void on_pushButton_clicked();
void on_pushButton_9_clicked();
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
image = QImage(600,300,QImage::Format_RGB32); //畫布的初始化大小設為600*500,使用32位顏色
QColor backColor = qRgb(255,255,255); //畫布初始化背景色使用白色
image.fill(backColor);//對畫布進行填充
//Paint();
}
void MainWindow::Paint()
{
ui->setupUi(this);
QPainter painter(&image);
painter.setRenderHint(QPainter::Antialiasing, true);//設定反鋸齒模式,好看一點
pointx=35;pointy=180;//確定坐標軸起點坐標,這里定義(35,280)
int width=580-pointx,height=260;//確定坐標軸寬度跟高度 上文定義畫布為600X300,寬高依此而定。
//繪制坐標軸 坐標軸原點(35,280)
painter.drawRect(20,20,300-50,100-50);//外圍的矩形,從(5,5)起,到(590,290)結束,周圍留了5的間隙。
painter.drawLine(pointx,pointy,width+pointx-30,pointy);//坐標軸x寬度為width
painter.drawLine(pointx,pointy-height+100,pointx,pointy);//坐標軸y高度為height
pointx+=10;
pointy+=10;
return;
}
void MainWindow::Paint_2()
{
ui->setupUi(this);
QPainter painter(&image);
painter.setRenderHint(QPainter::Antialiasing, true);//設定反鋸齒模式,好看一點
pointx=45,pointy=190;//確定坐標軸起點坐標,這里定義(35,280)
int width=580-pointx,height=260;//確定坐標軸寬度跟高度 上文定義畫布為600X300,寬高依此而定。
//繪制坐標軸 坐標軸原點(35,280)
painter.drawRect(20,20,600-50,300-50);//外圍的矩形,從(5,5)起,到(590,290)結束,周圍留了5的間隙。
painter.drawLine(pointx,pointy,width+pointx-30,pointy);//坐標軸x寬度為width
painter.drawLine(pointx,pointy-height+100,pointx,pointy);//坐標軸y高度為height
return;
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
expression=ui->lineEdit->text();ui->setupUi(this);
Paint();
return;
}
void MainWindow::on_pushButton_9_clicked()
{
ui->setupUi(this);
expression_2=ui->lineEdit_2->text();
expression_3=ui->lineEdit_3->text();
Paint_2();
return;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/64045.html
標籤:基礎類
