最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

QT使用QChart繪制面積圖

 更新時(shí)間:2024年11月19日 11:30:16   作者:姆路  
在Qt中使用QChart類可以快速繪制一個(gè)圖表出來(lái),比如折線圖、餅圖、柱狀圖等,本文就來(lái)為大家介紹一下如何利用QChart繪制簡(jiǎn)單的面積圖吧

繪制面積圖,則系列選擇面積系列QAreaSeries

需要給系列設(shè)置上折線和下折線(QLineSeries),如果沒(méi)有設(shè)置下折線,則默認(rèn)x軸為下折線

1、創(chuàng)建圖表視圖

//1、創(chuàng)建圖表視圖
QChartView * view = new QChartView(this);
//開(kāi)啟抗鋸齒
view -> setRenderHint(QPainter::Antialiasing);

2、創(chuàng)建圖表,并將圖表設(shè)置給圖表視圖

//2.創(chuàng)建圖表
QChart * chart = new QChart();
 
//3.將圖表設(shè)置給視圖
view -> setChart(chart);
//設(shè)置標(biāo)題
chart -> setTitle("面積圖");
chart -> legend() -> show(); //顯示或者隱藏圖例(默認(rèn)顯示)

3、創(chuàng)建面積系列(QAreaSeries),

創(chuàng)建上折線和下折線(QLineSeries),并將上下折線設(shè)置給面積系列

設(shè)置面積系列的一些屬性

將系列添加到圖表中

//創(chuàng)建面積系列
QAreaSeries * area = new QAreaSeries(this);
 
//需要添加圍成面積的下折線和上折線,
//沒(méi)有上折線,不會(huì)顯示;沒(méi)有下折線,默認(rèn)以x軸為下折線
QLineSeries * upper = new QLineSeries(this);
upper -> append(10, 130);
upper -> append(50, 180);
upper -> append(80, 120);
 
QLineSeries * lower = new QLineSeries(this);
lower -> append(25, 80);
lower -> append(90, 80);
//將上折線和下折線設(shè)置給面積系列
area -> setUpperSeries(upper);
area -> setLowerSeries(lower);
 
area -> setBrush(Qt::red); //設(shè)置面積圖的顏色
area -> setPointsVisible(true); //設(shè)置點(diǎn)可見(jiàn)
area -> setPointLabelsVisible(true); //設(shè)置點(diǎn)的標(biāo)簽可見(jiàn)
area -> setName("哈哈"); //設(shè)置圖例的內(nèi)容
 
//將系列添加進(jìn)圖表中
chart -> addSeries(area);

4、使用QChart::createDefaultAxes()創(chuàng)建默認(rèn)的x軸和y軸(根據(jù)內(nèi)部的系列)

//使用createDefaultAxes()來(lái)創(chuàng)建軸
//添加系列后可以創(chuàng)建默認(rèn)的坐標(biāo)軸,一定要在addSeries之后調(diào)用,根據(jù)序列來(lái)確定默認(rèn)的坐標(biāo)軸
chart -> createDefaultAxes();
chart -> axes(Qt::Horizontal).at(0) -> setRange(0, 100);
chart -> axes(Qt::Vertical).at(0) -> setRange(0, 200);

完整代碼

#ifndef WIDGET_H
#define WIDGET_H
 
#include <QWidget>
#include<QtCharts>
#include<QHBoxLayout>
#include<QAreaSeries>
 
 
class Widget : public QWidget
{
    Q_OBJECT
 
public:
    Widget(QWidget *parent = nullptr) : QWidget(parent)
    {
        resize(800,600);
        QHBoxLayout* h_box=new QHBoxLayout(this);
 
       drawAreaPic();
 
    }
    ~Widget()=default;
    
    //畫(huà)面積圖
    void drawAreaPic()
    {
        //1、創(chuàng)建圖表視圖
        QChartView* view=new QChartView(this);
        //開(kāi)啟抗鋸齒
        view->setRenderHint(QPainter::Antialiasing);
 
        this->layout()->addWidget(view);
 
        //2.創(chuàng)建圖表
        QChart* chart=new QChart();
 
        //3.將圖表設(shè)置給視圖
        view->setChart(chart);
        //設(shè)置標(biāo)題
        chart->setTitle("面積圖");
        chart->legend()->show();//顯示或者隱藏圖例(默認(rèn)顯示)
 
        //創(chuàng)建面積系列
        QAreaSeries* area=new QAreaSeries(this);
 
        //需要添加圍成面積的下折線和上折線,
        //沒(méi)有上折線,不會(huì)顯示;沒(méi)有下折線,默認(rèn)以x軸為下折線
        QLineSeries* upper=new QLineSeries(this);
        upper->append(10,130);
        upper->append(50,180);
        upper->append(80,120);
 
        QLineSeries* lower=new QLineSeries(this);
        lower->append(25,80);
        lower->append(90,80);
        //將上折線和下折線設(shè)置給面積系列
        area->setUpperSeries(upper);
        area->setLowerSeries(lower);
 
        area->setBrush(Qt::red);//設(shè)置面積圖的顏色
        area->setPointsVisible(true);//設(shè)置點(diǎn)可見(jiàn)
        area->setPointLabelsVisible(true);//設(shè)置點(diǎn)的標(biāo)簽可見(jiàn)
        area->setName("哈哈");//設(shè)置圖例的內(nèi)容
 
        //將系列添加進(jìn)圖表中
        chart->addSeries(area);
 
        //使用createDefaultAxes()來(lái)創(chuàng)建軸
        //添加系列后可以創(chuàng)建默認(rèn)的坐標(biāo)軸,一定要在addSeries之后調(diào)用,根據(jù)序列來(lái)確定默認(rèn)的坐標(biāo)軸
        chart->createDefaultAxes();
        chart->axes(Qt::Horizontal).at(0)->setRange(0,100);
        chart->axes(Qt::Vertical).at(0)->setRange(0,200);
 
    }
 
};
#endif // WIDGET_H

到此這篇關(guān)于QT使用QChart繪制面積圖的文章就介紹到這了,更多相關(guān)QT QChart繪制面積圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡(jiǎn)述C語(yǔ)言中system()函數(shù)與vfork()函數(shù)的使用方法

    簡(jiǎn)述C語(yǔ)言中system()函數(shù)與vfork()函數(shù)的使用方法

    這篇文章主要介紹了簡(jiǎn)述C語(yǔ)言中system()函數(shù)與vfork()函數(shù)的使用方法,是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-08-08
  • C++讀取WAV音頻文件的頭部數(shù)據(jù)的實(shí)現(xiàn)方法

    C++讀取WAV音頻文件的頭部數(shù)據(jù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了C++讀取WAV音頻文件的頭部數(shù)據(jù)的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的方法,需要的朋友可以參考下
    2017-10-10
  • C++基于遞歸和非遞歸算法判定兩個(gè)二叉樹(shù)結(jié)構(gòu)是否完全相同(結(jié)構(gòu)和數(shù)據(jù)都相同)

    C++基于遞歸和非遞歸算法判定兩個(gè)二叉樹(shù)結(jié)構(gòu)是否完全相同(結(jié)構(gòu)和數(shù)據(jù)都相同)

    這篇文章主要介紹了C++基于遞歸和非遞歸算法判定兩個(gè)二叉樹(shù)結(jié)構(gòu)是否完全相同,若判斷二叉樹(shù)的結(jié)構(gòu)和數(shù)據(jù)都相同則為完全相同.涉及C++二叉樹(shù)的創(chuàng)建、遍歷、比較等相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)哈希表詳解

    C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)哈希表詳解

    哈希表是一種根據(jù)關(guān)鍵碼去尋找值的數(shù)據(jù)映射結(jié)構(gòu),該結(jié)構(gòu)通過(guò)把關(guān)鍵碼映射的位置去尋找存放值的地方,說(shuō)起來(lái)可能感覺(jué)有點(diǎn)復(fù)雜,我想我舉個(gè)例子你就會(huì)明白了,最典型的的例子就是字典
    2022-02-02
  • C++中的過(guò)濾器模式詳解

    C++中的過(guò)濾器模式詳解

    這篇文章詳細(xì)介紹了STL中各種算法的類型、功能和使用方法,涵蓋了非修改序列算法、修改序列算法、排序和相關(guān)算法、堆算法、最小/最大值算法、數(shù)值算法以及其他實(shí)用算法,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • C/C++新建注冊(cè)表項(xiàng)的代碼示例

    C/C++新建注冊(cè)表項(xiàng)的代碼示例

    今天小編就為大家分享一篇關(guān)于C/C++新建注冊(cè)表項(xiàng)的代碼示例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • 利用C語(yǔ)言實(shí)現(xiàn)經(jīng)典游戲斗獸棋

    利用C語(yǔ)言實(shí)現(xiàn)經(jīng)典游戲斗獸棋

    《斗獸棋》是一款棋類游戲,整個(gè)游戲畫(huà)面是分為兩塊區(qū)域,中間有河流分割兩塊區(qū)域,有橋梁可以讓彼此的動(dòng)物過(guò)河,要取得勝利,必須占領(lǐng)那一邊動(dòng)物的巢穴獲勝利。本文將用C語(yǔ)言實(shí)現(xiàn)這一游戲,需要的可以參考一下
    2022-03-03
  • C語(yǔ)言實(shí)踐設(shè)計(jì)開(kāi)發(fā)飛機(jī)游戲

    C語(yǔ)言實(shí)踐設(shè)計(jì)開(kāi)發(fā)飛機(jī)游戲

    飛機(jī)大戰(zhàn)想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂(lè)的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何利用C語(yǔ)言寫一個(gè)簡(jiǎn)單的飛機(jī)大戰(zhàn)小游戲的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • C++中strcpy()拷貝的3種寫法示例詳解

    C++中strcpy()拷貝的3種寫法示例詳解

    本文詳細(xì)探討了C++中字符串拷貝函數(shù)strcpy的實(shí)現(xiàn)與優(yōu)化,提供了測(cè)試案例和使用場(chǎng)景建議,強(qiáng)調(diào)在性能與安全性之間的權(quán)衡,不同版本適用于不同場(chǎng)景:基礎(chǔ)版適合高性能需求,安全版則優(yōu)先保障穩(wěn)定性,感興趣的朋友跟隨小編一起看看吧
    2026-05-05
  • QT5.12.5移植到ARM平臺(tái)下的方法步驟

    QT5.12.5移植到ARM平臺(tái)下的方法步驟

    本文主要介紹了QT5.12.5移植到ARM平臺(tái)下的方法步驟,包括修改配置文件、代碼修改以及測(cè)試運(yùn)行,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01

最新評(píng)論

汨罗市| 涞源县| 泰顺县| 南康市| 安多县| 二连浩特市| 柳江县| 佛冈县| 鄂尔多斯市| 临沧市| 尼木县| 新泰市| 金沙县| 清新县| 奉节县| 安陆市| 敖汉旗| 太白县| 巨野县| 卢龙县| 宁明县| 杭锦后旗| 台北市| 临泽县| 汝州市| 正镶白旗| 穆棱市| 富民县| 南通市| 民丰县| 寿光市| 日喀则市| 郯城县| 温宿县| 通州市| 西华县| 廊坊市| 临洮县| 凤城市| 潍坊市| 凤翔县|