欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt圖形圖像開(kāi)發(fā)之曲線圖表庫(kù)QChart編譯安裝詳細(xì)方法與使用實(shí)例

 更新時(shí)間:2020年03月11日 09:02:36   作者:塵中遠(yuǎn)  
這篇文章主要介紹了Qt圖形圖像開(kāi)發(fā)之曲線圖表庫(kù)QChart編譯安裝詳細(xì)方法與使用實(shí)例,需要的朋友可以參考下

Qt曲線圖表庫(kù)Qt Chart簡(jiǎn)介

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

Qt曲線圖表庫(kù)Qt Chart下載

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

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

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

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

下載完目錄是這樣的:

開(kāi)始編譯前需要下載Perl:activePerl

直接下一步點(diǎn)到頭安裝。

安裝完成后需要重啟一下電腦或者手動(dòng)激活一下環(huán)境變量。

編譯Qt Chart庫(kù)

此時(shí)用Qt Creator加載qtcharts.pro

稍等片刻后:

此時(shí)在生成目錄下生成:

至此QtChart庫(kù)編譯成功

安裝Qt Chart庫(kù)

編譯結(jié)束后就可以進(jìn)行安裝了

選擇Qt Creator項(xiàng)目欄 - 運(yùn)行標(biāo)簽 - 添加部署構(gòu)建

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

如圖所示配置完后,點(diǎn)擊運(yùn)行

這時(shí)會(huì)有很多復(fù)制的信息,它會(huì)把編譯好的dll和頭文件復(fù)制到Qt的安裝目錄下

打開(kāi)Qt目錄下的lib文件夾和include文件夾可以看到被復(fù)制過(guò)來(lái)的QtChart信息。

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

你只要把這個(gè)doc文件夾里的qtcharts文件夾和qtcharts.qch文件復(fù)制到Qt安裝目錄下的Docs文件夾內(nèi)對(duì)應(yīng)版本文件夾下即可

這時(shí)打開(kāi)Qt Assisant,搜QtChart,即可看到說(shuō)明文檔!

這時(shí)你的QtChart大部分已經(jīng)配置完成。

Qt Chart使用實(shí)例

下面演示如何用Qt Creator的界面設(shè)計(jì)師創(chuàng)建一個(gè)QtChart,其他方法可見(jiàn)參考文獻(xiàn)。

首先新建一個(gè)Widget項(xiàng)目

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

右鍵點(diǎn)擊這個(gè)widget,把這個(gè)Widget提升。

把這個(gè)Widget提升為QChartView

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

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.

因?yàn)檫@里是單獨(dú)作為一個(gè)窗體放置,因此用QChartView

提升的類名為QChartView

頭文件也為QChartView ,Qt每個(gè)類都有個(gè)無(wú)后綴的同類名文件,方便include

嘗試編譯一下程序會(huì)出現(xiàn)一個(gè)錯(cuò)誤:

官方文檔說(shuō)明,使用QtChart還需要對(duì)pro文件進(jìn)行設(shè)置:

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;

添加完所需要的內(nèi)容,編譯還是發(fā)生錯(cuò)誤,錯(cuò)誤定位到ui_widget里

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

但是ui_widget文件是自動(dòng)生成的,不能再此文件里進(jìn)行修改,此文件是包含在widget.h的一個(gè)叫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

此時(shí)在編譯即可:

在構(gòu)造函數(shù)里添加:

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);

效果如下:

總結(jié)

在使用界面設(shè)計(jì)師用QtChart時(shí),需要在對(duì)應(yīng)的界面頭文件上添加:

#include <QtCharts>

QT_CHARTS_USE_NAMESPACE

否則會(huì)發(fā)生編譯錯(cuò)誤!

至此本文講解的Qt曲線圖表庫(kù)QtChart編譯安裝詳細(xì)步驟與使用實(shí)例就結(jié)束了,更多關(guān)于Qt曲線圖表庫(kù)QtChart相關(guān)知識(shí)請(qǐng)查看下面的相關(guān)文章

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易掃雷小游戲

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • C++11并發(fā)編程:多線程std::thread

    C++11并發(fā)編程:多線程std::thread

    今天小編就為大家分享一篇關(guān)于C++11并發(fā)編程:多線程std::thread,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • C語(yǔ)言超詳細(xì)講解順序表的各種操作

    C語(yǔ)言超詳細(xì)講解順序表的各種操作

    大家好,今天給大家?guī)?lái)的是順序表,我覺(jué)得順序表還是有比較難理解的地方的,于是我就把這一塊的內(nèi)容全部整理到了一起,希望能夠給剛剛進(jìn)行學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的人帶來(lái)一些幫助,或者是已經(jīng)學(xué)過(guò)這塊的朋友們帶來(lái)更深的理解,我們現(xiàn)在就開(kāi)始吧
    2022-05-05
  • 實(shí)例分析一個(gè)簡(jiǎn)單的Win32程序

    實(shí)例分析一個(gè)簡(jiǎn)單的Win32程序

    這篇文章主要介紹了實(shí)例分析一個(gè)簡(jiǎn)單的Win32程序,對(duì)于Win32應(yīng)用程序的原理、執(zhí)行流程、實(shí)現(xiàn)方法主要環(huán)節(jié)都做了較為詳細(xì)的分析,有助于讀者深入理解Windows應(yīng)用程序設(shè)計(jì),需要的朋友可以參考下
    2014-09-09
  • C/C++實(shí)現(xiàn)獲取硬盤序列號(hào)的示例代碼

    C/C++實(shí)現(xiàn)獲取硬盤序列號(hào)的示例代碼

    獲取硬盤的序列號(hào)、型號(hào)和固件版本號(hào),此類功能通常用于做硬盤綁定或硬件驗(yàn)證操作,下面我們就來(lái)學(xué)習(xí)一下如何使用C/C++實(shí)現(xiàn)獲取硬盤序列號(hào)吧
    2023-11-11
  • C++中動(dòng)態(tài)綁定和內(nèi)存管理的實(shí)現(xiàn)

    C++中動(dòng)態(tài)綁定和內(nèi)存管理的實(shí)現(xiàn)

    本文主要介紹了C++中動(dòng)態(tài)綁定和內(nèi)存管理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 詳解C++基礎(chǔ)——類繼承中方法重載

    詳解C++基礎(chǔ)——類繼承中方法重載

    這篇文章主要介紹了C++基礎(chǔ)——類繼承中方法重載,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 矩陣的行主序與列主序的分析

    矩陣的行主序與列主序的分析

    這篇文章主要介紹了矩陣的行主序與列主序的分析的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • C++中賦值初始化和直接初始化的區(qū)別

    C++中賦值初始化和直接初始化的區(qū)別

    賦值初始化和直接初始化雖然常常產(chǎn)生相同的結(jié)果,但在某些情況下它們有不同的含義和行為,本文主要介紹了C++中賦值初始化和直接初始化的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-04-04
  • C++實(shí)現(xiàn)T型插補(bǔ)詳解

    C++實(shí)現(xiàn)T型插補(bǔ)詳解

    這篇文章主要介紹了C++實(shí)現(xiàn)T型插補(bǔ),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10

最新評(píng)論