中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

發布時間:2020-10-03 13:57:49 來源:腳本之家 閱讀:1377 作者:塵中遠 欄目:編程語言

Qt曲線圖表庫Qt Chart簡介

Qt的線性繪圖控件有大名鼎鼎的Qwt,ChartDirector,小巧玲瓏的QCustomPlot,當然還有自家的QtChart。長久以來QtChart在Qt家族里一直是收費的模塊,只有商業版才可以使用,但Qt5.7之后將開放其權限,可參見:Qt 5.7 亮瞎眼的更新。下面將介紹如何安裝QtChart并進行簡單的繪圖。

Qt曲線圖表庫Qt Chart下載

這里用git下載QtChart,參考Qt Charts 5.7.0 安裝教程

Git地址:https://github.com/qtproject/qtcharts.git

git clone https://github.com/qtproject/qtcharts.git

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

大家也可以直接到https://github.com/qt/qtcharts這里直接下載

下載完目錄是這樣的:

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

開始編譯前需要下載Perl:activePerl

直接下一步點到頭安裝。

安裝完成后需要重啟一下電腦或者手動激活一下環境變量。

編譯Qt Chart庫

此時用Qt Creator加載qtcharts.pro

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

稍等片刻后:

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

此時在生成目錄下生成:

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

至此QtChart庫編譯成功

安裝Qt Chart庫

編譯結束后就可以進行安裝了

選擇Qt Creator項目欄 - 運行標簽 - 添加部署構建

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

這里需要添加兩個部署,一個是QtChart的安裝,一個是QtChart文檔的編譯。

如圖所示配置完后,點擊運行

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

這時會有很多復制的信息,它會把編譯好的dll和頭文件復制到Qt的安裝目錄下

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

打開Qt目錄下的lib文件夾和include文件夾可以看到被復制過來的QtChart信息。

這時,再看QtChart的生成目錄,比第一次編譯時多了一個doc文件夾

你只要把這個doc文件夾里的qtcharts文件夾和qtcharts.qch文件復制到Qt安裝目錄下的Docs文件夾內對應版本文件夾下即可

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

這時打開Qt Assisant,搜QtChart,即可看到說明文檔!

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

這時你的QtChart大部分已經配置完成。

Qt Chart使用實例

下面演示如何用Qt Creator的界面設計師創建一個QtChart,其他方法可見參考文獻。

首先新建一個Widget項目

使用一個Widget作為Chart的載體,在界面上放置一個Widget

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

右鍵點擊這個widget,把這個Widget提升。

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

把這個Widget提升為QChartView

QtChart有兩類繪圖窗口容器,分別為QChart(QPolarChart)和QChartView,其區別官方文檔說明為:

QChart is a QGraphicsWidget that you can show in a QGraphicsScene. It manages the graphical representation of different types of series and other chart related objects like legend and axes. If you simply want to show a chart in a layout, you can use the convenience class QChartView instead of QChart.

QChartView is a standalone widget that can display charts. It does not require separate QGraphicsScene to work. If you want to display a chart in your existing QGraphicsScene, you need to use the QChart (or QPolarChart) class instead.

因為這里是單獨作為一個窗體放置,因此用QChartView

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

提升的類名為QChartView

頭文件也為QChartView ,Qt每個類都有個無后綴的同類名文件,方便include

嘗試編譯一下程序會出現一個錯誤:

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

官方文檔說明,使用QtChart還需要對pro文件進行設置:

To create a simple application, start by creating a new Qt Gui Application project in Qt Creator and add this line to the .pro file of the project:

QT += charts

In the main.cpp file, include the module headers and declare namespace usage:

#include <QtCharts>

using namespace QtCharts;

其中,可以使用QT_CHARTS_USE_NAMESPACE替代using namespace QtCharts;

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

添加完所需要的內容,編譯還是發生錯誤,錯誤定位到ui_widget里

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

前面說了,用到QtChart的地方需要包含#include <QtCharts>以及命名空間using namespace QtCharts;(或者QT_CHARTS_USE_NAMESPACE替代using namespace QtCharts;)

但是ui_widget文件是自動生成的,不能再此文件里進行修改,此文件是包含在widget.h的一個叫Ui的命名空間中,因此,可以把

#include <QtCharts>

QT_CHARTS_USE_NAMESPACE

放置在widget.h上:

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
 Q_OBJECT
public:
 explicit Widget(QWidget *parent = 0);
 ~Widget();
private:
 Ui::Widget *ui;
};
#endif // WIDGET_H

此時在編譯即可:

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

在構造函數里添加:

QLineSeries* line1 = new QLineSeries();
for(double x=0;x<10;x+=0.1)
{
 line1->append(x,sin(x));
}
QChart* c = new QChart();
c->addSeries(line1);
ui->chart->setChart(c);

效果如下:

Qt圖形圖像開發之曲線圖表庫QChart編譯安裝詳細方法與使用實例

總結

在使用界面設計師用QtChart時,需要在對應的界面頭文件上添加:

#include <QtCharts>

QT_CHARTS_USE_NAMESPACE

否則會發生編譯錯誤!

至此本文講解的Qt曲線圖表庫QtChart編譯安裝詳細步驟與使用實例就結束了,更多關于Qt曲線圖表庫QtChart相關知識請查看下面的相關文章

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屏东县| 宝山区| 读书| 绥德县| 前郭尔| 沁水县| 鲜城| 台中市| 巴林右旗| 六盘水市| 秦安县| 夏邑县| 海淀区| 溆浦县| 民丰县| 德惠市| 壤塘县| 通化县| 石狮市| 高州市| 马山县| 思茅市| 泾阳县| 德令哈市| 吴江市| 建湖县| 白城市| 临沧市| 大方县| 景德镇市| 肇东市| 新和县| 宁阳县| 闻喜县| 禹州市| 新巴尔虎右旗| 长寿区| 伊春市| 常宁市| 蒲城县| 科技|