Qt圖形圖像開發(fā)曲線圖表模塊QChart庫(kù)基本用法、各個(gè)類之間的關(guān)系說明
如何編譯安裝QChart請(qǐng)查看下面文章
Qt圖形圖像開發(fā)之曲線圖表庫(kù)QtChart編譯安裝詳細(xì)方法與使用實(shí)例
使用Qt曲線圖表模塊Chart庫(kù)首先要注意3點(diǎn):
(1)在.pro文件中添加:
QT += charts
。(2)用到QChart的文件中添加:
QT_CHARTS_USE_NAMESPACE
,或者:using namespace QtCharts;在ui界面中拖入一個(gè)graphicsView控件,然后右擊提升為QChartView類,寫提升為的類:QtCharts::QChartView,頭文件寫:qchartview.h
(3)別忘了在用到QChartView的文件中添加
#include <QChartView>
如果編譯報(bào)錯(cuò),請(qǐng)依次執(zhí)行:清除->執(zhí)行qmake->構(gòu)建
QChart的兩種顯示方法:(本質(zhì)上就是同一種方法)
(1)QChart必須顯示在widget上,更確切地說,是必須把它顯示在QGraphicView控件中,眾所周知,QT的ui控件都可以作為獨(dú)立窗口直接顯示,所以這就是方法1。
(2)把QChart顯示在ui界面的QGraphicView控件中。
PS:把QChart顯示在QGraphicView控件中,程序略顯繁瑣,QT早就為我們封裝好了一個(gè)ui控件類QtCharts::QChartView,它繼承了QGraphicView。這就是上文提到的把QGraphicView提升成了QChartView。用QChartView來(lái)顯示QChart還是很方便的。
用QGraphicView來(lái)顯示QChart較為繁瑣,下面來(lái)對(duì)比一下,分別用QGraphicView和QChartView來(lái)顯示QChart,代碼量的區(qū)別:
(1)用QGraphicView來(lái)顯示,需要借助QGraphicsScene類。具體地說就是,QGraphicView在最底層,QGraphicsScene在中間,QChart在最外層。
QGraphicsScene scene;//場(chǎng)景(中間層) QGraphicsView view(&scene);//視圖(最底層) view.setRenderHint(QPainter::Antialiasing);//設(shè)置視圖抗鋸齒 view.setSceneRect(0, 0, 630, 280);//設(shè)置視圖大小 QLineSeries *lineseries = new QLineSeries();//圖表的數(shù)據(jù)集 lineseries->append(0, 5);//append和<<功能差不多 *lineseries << QPointF(13, 5) << QPointF(17, 6) << QPointF(20, 2); QChart *lineChart = new QChart();//圖表(最頂層) lineChart->addSeries(lineseries); // 將 數(shù)據(jù)集 添加至圖表中 scene.addItem(lineChart);//把圖標(biāo)添加到場(chǎng)景中(一個(gè)場(chǎng)景中允許添加多個(gè)圖表) view.show();//視圖顯示
(2)用QChartView來(lái)顯示QChart較為方便
QLineSeries *lineseries = new QLineSeries();//圖表的數(shù)據(jù)集 lineseries->append(0, 5);//append和<<功能差不多 *lineseries << QPointF(13, 5) << QPointF(17, 6) << QPointF(20, 2); QChart *lineChart = new QChart();//圖表(最頂層) lineChart->addSeries(lineseries); // 將 數(shù)據(jù)集 添加至圖表中 QChartView *chartView = new QChartView(chart);//QChartView 可以一步到位直接顯示QChart chartView->setRenderHint(QPainter::Antialiasing);//繼承來(lái)的抗鋸齒方法 chartView->resize(400, 300); chartView->show();//本示例代碼,把該控件作為窗口直接顯示出來(lái)。 //其實(shí),也可以把QChartView的父控件設(shè)置為主UI,這樣就能把QChartView顯示在主窗體中了
最后再來(lái)捋一下各個(gè)類之間的層次關(guān)系。下圖中,大括號(hào)“{”代表左邊實(shí)體包含右邊實(shí)體,下箭頭↓↓↓↓代表繼承關(guān)系
本文先簡(jiǎn)單介紹了Qt曲線圖表模塊QChart庫(kù)基本用法、各個(gè)類之間的關(guān)系說明,詳細(xì)介紹就查看下面的相關(guān)鏈接
- 基于PyQt5制作一個(gè)數(shù)據(jù)圖表生成器
- Qt繪制圖表的實(shí)現(xiàn)
- Qt QChart 創(chuàng)建圖表的實(shí)現(xiàn)方法
- Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫(kù)一個(gè)chart中顯示兩條曲線詳細(xì)方法與實(shí)例
- Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫(kù)坐標(biāo)軸和數(shù)據(jù)不對(duì)應(yīng)、密集的散點(diǎn)圖無(wú)法顯示問題解決方法
- Qt圖形圖像開發(fā)曲線圖表模塊QChart庫(kù)縮放/平移詳細(xì)方法與實(shí)例
- Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫(kù)讀取/設(shè)置X軸的顯示區(qū)間
- Qt圖形圖像開發(fā)之曲線圖表庫(kù)QChart編譯安裝詳細(xì)方法與使用實(shí)例
- Qt實(shí)現(xiàn)簡(jiǎn)單折線圖表
相關(guān)文章
C++超詳細(xì)講解強(qiáng)制類型轉(zhuǎn)換的用法
在C++語(yǔ)言中新增了四個(gè)關(guān)鍵字static_cast、const_cast、reinterpret_cast和dynamic_cast。這四個(gè)關(guān)鍵字都是用于類型轉(zhuǎn)換的,類型轉(zhuǎn)換(type?cast),是高級(jí)語(yǔ)言的一個(gè)基本語(yǔ)法。它被實(shí)現(xiàn)為一個(gè)特殊的運(yùn)算符,以小括號(hào)內(nèi)加上類型名來(lái)表示,接下來(lái)讓我們一起來(lái)詳細(xì)了解2022-06-06C++實(shí)現(xiàn)一個(gè)簡(jiǎn)單消息隊(duì)列的示例詳解
消息隊(duì)列在多線程的場(chǎng)景有時(shí)會(huì)用到,尤其是線程通信跨線程調(diào)用的時(shí)候,就可以使用消息隊(duì)列進(jìn)行通信。本文將利用C++實(shí)現(xiàn)一個(gè)簡(jiǎn)單的消息隊(duì)列,感興趣的可以了解一下2022-12-12