若是須要在QT中使用QChart類,須要在安裝的時候勾選QChart選項,在工程的 .pro 文件裏面添加 QT += charts 語句,包含 QChart 頭文件就好了。app
對於圖表的顯示,能夠先拖出來一個控件,好比 widget、Graphics等控件,將其提高爲 QChartView 類用於顯示 chart。右鍵該控件選擇提高,輸入內容能夠以圖片中的形式做爲參考,提高的類名稱填寫QChartView,頭文件名稱會根據填寫的內容自動生成。ide
1.折線圖函數
2.柱狀圖ui
先建立一個 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 。this
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);
正常顯示完成後能夠調整柱狀圖的一些屬性,設置柱狀圖的顏色是經過設置QBarSet實現的spa
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");