240717班级,工业化控制系统,煤矿相关行业,昆仑系统
lzz
2024-11-09 1f1d6d154cc4a6311b74032af525031851b872b6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
#include<QValueAxis>
#include<QLineSeries>
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->setGeometry(475,290,1600,1000);
    showDate();
    showTime();
    chart_init();
 
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::showDate()//文本浏览器显示实时日期
{
    QTimer *timer = new QTimer(this);
    connect(timer, &QTimer::timeout, this, [this](){
            QString currentDate = QDate::currentDate().toString("yyyy-MM-dd");
            ui->textBrowser_3->setText(currentDate);
            ui->textBrowser_3->setAlignment(Qt::AlignCenter);
        });
    timer->start(500);
}
 
void MainWindow::showTime()//文本浏览器显示实时时间
{
    QTimer *timer = new QTimer(this);
    connect(timer, &QTimer::timeout, this, [this](){
            QString currentTime = QTime::currentTime().toString("hh:mm:ss");
            ui->textBrowser_4->setText(currentTime);
            ui->textBrowser_4->setAlignment(Qt::AlignCenter);
        });
    timer->start(500);
}
 
void MainWindow::chart_init()//绘制折线图
{
    //设置标题
    QChart *chart_1=new QChart;
    chart_1->setTitle("产量示意图");
    ui->graphicsView->setChart(chart_1);
    //设置x轴表示日期
    QValueAxis *axis_x=new QValueAxis;
    axis_x->setTitleText("日期");
    axis_x->setRange(0,100);//设置值域
    chart_1->addAxis(axis_x,Qt::AlignBottom);//沿底边显示
    //设置y轴表示产量
    QValueAxis *axis_y=new QValueAxis;
    axis_y->setTitleText("产量");
    axis_y->setRange(0,500);//设置值域
    chart_1->addAxis(axis_y,Qt::AlignLeft);//沿左边显示
    //实际生产量曲线
    QLineSeries *line=new QLineSeries;
    line->setName("实际生产量");
    chart_1->addSeries(line);
    qreal y;
    for(int x=0;x<100;x++){
        y=100;
        line->append(x,y);
    }
    line->attachAxis(axis_x);//绑定x轴
    line->attachAxis(axis_y);//绑定y轴
    //计划生产量曲线
    QLineSeries *line1=new QLineSeries;
    line1->setName("计划生产量");
    chart_1->addSeries(line1);
    qreal y1;
    for(int x=0;x<100;x++){
        y1=100-x;
        line1->append(x,y1);
    }
    line1->attachAxis(axis_x);//绑定x轴
    line1->attachAxis(axis_y);//绑定y轴
    //预测生产量曲线
    QLineSeries *line2=new QLineSeries;
    line2->setName("预测生产量");
    chart_1->addSeries(line2);
    qreal y2;
    for(int x=0;x<100;x++){
        y2=100+x;
        line2->append(x,y2);
    }
    line2->attachAxis(axis_x);//绑定x轴
    line2->attachAxis(axis_y);//绑定y轴
}