日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]簡介Qt的線性繪圖控件有大名鼎鼎的Qwt,ChartDirector,小巧玲瓏的QCustomPlot,當(dāng)然還有自家的QtChart。長久以來QtChart在Qt家族里一直是收費(fèi)的模塊,只有商業(yè)版才可

簡介

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

下載

這里用git下載QtChart,參考Qt Charts 5.7.0 安裝教程
如果大家還用Qt5.4以下版本請(qǐng)升級(jí)完再看,Qt5.4以下是不支持滴

下載完目錄是這樣的:


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

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

編譯QtChart

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

一杯茶的時(shí)間后:

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

安裝

編譯結(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的安裝目錄下

打開Qt目錄下的lib文件夾和include文件夾可以看到被復(fù)制過來的QtChart信息。
這時(shí),再看QtChart的生成目錄,比第一次編譯時(shí)多了一個(gè)doc文件夾
你只要把這個(gè)doc文件夾里的qtcharts文件夾和qtcharts.qch文件復(fù)制到Qt安裝目錄下的Docs文件夾內(nèi)對(duì)應(yīng)版本文件夾下即可

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

這時(shí)你的QtChart大部分已經(jīng)配置完成。
還有example的安裝,可參看文獻(xiàn)[3]

測試QtChart

下面演示如何用Qt Creator的界面設(shè)計(jì)師創(chuàng)建一個(gè)QtChart,其他方法可見參考文獻(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ū)別官方文檔說明為:

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è)無后綴的同類名文件,方便include
嘗試編譯一下程序會(huì)出現(xiàn)一個(gè)錯(cuò)誤:

官方文檔說明,使用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:

#includeusing?namespace?QtCharts;

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

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

前面說了,用到QtChart的地方需要包含#include以及命名空間using namespace QtCharts;(或者QT_CHARTS_USE_NAMESPACE替代using namespace QtCharts;)
但是ui_widget文件是自動(dòng)生成的,不能再此文件里進(jìn)行修改,此文件是包含在widget.h的一個(gè)叫Ui的命名空間中,因此,可以把

#includeQT_CHARTS_USE_NAMESPACE

放置在widget.h上:

#ifndef?WIDGET_H
#define?WIDGET_H

#includenamespace?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;xappend(x,sin(x));
}
QChart*?c?=?new?QChart();
c->addSeries(line1);
ui->chart->setChart(c);

效果如下:

總結(jié)

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

#includeQT_CHARTS_USE_NAMESPACE

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

完!


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉