QT5的QChart使用記錄


如果需要在QT中使用QChart類,需要在安裝的時候勾選QChart選項,在工程的 .pro 文件里面添加 QT += charts 語句,包含 QChart 頭文件就行了。

對於圖表的顯示,可以先拖出來一個控件,比如 widget、Graphics等控件,將其提升為 QChartView 類用於顯示 chart。右鍵該控件選擇提升,輸入內容可以以圖片中的形式作為參考,提升的類名稱填寫QChartView,頭文件名稱會根據填寫的內容自動生成。

1.折線圖

  

2.柱狀圖

  先創建一個 QBarSet 指針,比如 QBarSet *set0 = new QBarSet(tr("溫度")); 這個指針可以作為柱狀圖的一個顯示系列的數據,可以通過 *set0 << 95.26 << 92.38 << 89.5 <<78.9 << 99.0;形式給這個系列賦值,也可以使用對應的函數挨個添加值。之后使用 QBarSeries *series = new QBarSeries(this); 創建一個顯示系列,並且把建立的數據加進去 series->append(set0); 剩下的就是把 QBarSeries 添加到 QChart 里面,建立坐標軸,然后使用提升的 QChartView 控件顯示 QChart 。

 1 QBarSet *set0 = new QBarSet(tr("溫度"));
 2 *set0 << 95.26 << 92.38 << 89.5 <<78.9 << 99.0;
 3 
 4 QBarSeries *series = new QBarSeries(this);
 5 series->append(set0);
 6 
 7 QChart *chart = new QChart();
 8 chart->addSeries(series);
 9 chart->setAnimationOptions(QChart::SeriesAnimations);
10 
11 QStringList categories;//橫軸坐標的顯示內容
12 categories << "一個" << "兩個" << "三個" << "四個" << "五個";
13 QBarCategoryAxis *axisX = new QBarCategoryAxis();
14 axisX->append(categories);
15 chart->addAxis(axisX, Qt::AlignBottom);
16 series->attachAxis(axisX);
17 
18 QValueAxis *axisY = new QValueAxis();
19 axisY->setRange(0,110);//設置Y軸數據范圍
20 chart->addAxis(axisY, Qt::AlignLeft);
21 series->attachAxis(axisY);
22 
23 chart->legend()->setVisible(true);//設置柱狀圖的系列名稱
24 chart->legend()->setAlignment(Qt::AlignBottom);
25 
26 ui->Bar_View->setChart(chart);
View Code

正常顯示完成后可以調整柱狀圖的一些屬性,設置柱狀圖的顏色是通過設置QBarSet實現的

1 set0->setLabelColor(Qt::darkRed);//設置該系列數據顯示的柱狀圖顏色

如果希望在柱狀圖上面顯示出當前柱狀圖的數值,可以對QSeries進行操作;setLabelsFormat 函數可以使柱狀圖數據后面附帶一種標識,比如代碼中的 A。

1 /*   設置圖例的柱狀圖數據顯示位置並開啟顯示   */
2     series->setLabelsPosition(QAbstractBarSeries::LabelsInsideEnd);
3     series->setLabelsVisible(true);
4 
5     //設置顯示的后綴符號
6     //series->setLabelsFormat("@value A"); 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM