Qt工作笔记-绘制静态折线图
生活随笔
收集整理的這篇文章主要介紹了
Qt工作笔记-绘制静态折线图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
話不多說,程序運行截圖如下:
程序結構圖如下:
這里要注意一點:
要把QWidget提升為QChartView
并且在工程文件加上 Qt+=charts
代碼如下:
widget.h
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QChartView> #include <QLineSeries> #include <time.h> QT_CHARTS_USE_NAMESPACE namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); public slots: void initData(); //隨機化數據 private: Ui::Widget *ui; QLineSeries *m_series; QChart *m_chart; }; #endif // WIDGET_Hwidget.cpp
#include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); this->setWindowTitle(tr("CSDN IT1995")); m_series=new QLineSeries(); int x=0; srand((unsigned)time(NULL)); for(int i=0;i<20;i++){ m_series->append(x,rand()%201+1); x+=20; } m_chart=new QChart(); m_chart->legend()->hide(); m_chart->addSeries(m_series); m_chart->createDefaultAxes(); m_chart->setTitle(tr("折線圖")); ui->widget->setChart(m_chart); connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(initData())); } void Widget::initData(){ m_series->clear(); int x=0; srand((unsigned)time(NULL)); for(int i=0;i<20;i++){ m_series->append(x,rand()%201+1); x+=3; } m_chart=new QChart(); m_chart->legend()->hide(); m_chart->addSeries(m_series); m_chart->createDefaultAxes(); m_chart->setTitle(tr("折線圖")); ui->widget->setChart(m_chart); } Widget::~Widget() { delete ui; }main.cpp
#include "widget.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec(); }總結
以上是生活随笔為你收集整理的Qt工作笔记-绘制静态折线图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt工作笔记-树图结构的2种方式,实现右
- 下一篇: Qt文档阅读笔记-编写应用脚本解析与实例