国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

這篇具有很好參考價(jià)值的文章主要介紹了【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

知識(shí)不是單獨(dú)的,一定是成體系的。更多我的個(gè)人總結(jié)和相關(guān)經(jīng)驗(yàn)可查閱這個(gè)專欄:Visual Studio。

戰(zhàn)斗背景:做了個(gè)串口接收界面,用來(lái)接收傳輸過(guò)來(lái)的信號(hào)。但是光用數(shù)字顯示太單調(diào),需要用圖線顯示出來(lái)。

戰(zhàn)略目標(biāo):干掉它。

戰(zhàn)術(shù)路線:Qt 繪圖可以使用 Qt Charts,先了解一些關(guān)于 Qt Charts 的基礎(chǔ)知識(shí),然后根據(jù)自己的實(shí)時(shí)動(dòng)態(tài)曲線需求,將它融合到我的工程中。

1. 實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的折線圖

先上效果,再來(lái)解釋。操作步驟和效果如下圖:

文件 GUI.h

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

文件 GUI.cpp

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

最終運(yùn)行效果:
【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面


可能 Bug:C1083

參考這個(gè)文章解決就行了:【Visual Studio】報(bào)錯(cuò) C1083,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面。


背后蘊(yùn)藏的知識(shí)

Qt 提供的相關(guān)的 class 類有:

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

算了下,一共有 48 個(gè)類,實(shí)現(xiàn)一個(gè)圖表并不需要全部用到,根據(jù)所需實(shí)現(xiàn)的圖表,只需用到當(dāng)中的幾個(gè)就行,這些類,大致上可以分為如下幾類:

  • QChartView Class: 一個(gè)用來(lái)顯示圖表的區(qū)域,或者理解為畫(huà)布,可以在QChartView上實(shí)現(xiàn)所有Qt Chart支持的圖表。

QChartView -> QGraphicsView -> QAbstractScrollArea -> QFrame -> QWidget

  • QChart Class:QChart 是 QGraphicsWidget,可以在 QGraphicsScene 上顯示,用來(lái)管理圖表中的數(shù)據(jù)、圖例、坐標(biāo)軸等,

QChart -> QGraphicsWidget -> QGraphicsObject and QGraphicsLayoutItem QGraphicsObject <-- QObject and QGraphicsItem

  • QLineSeries Class 這個(gè)是圖表的類型,其他的還有 QSplineSeries,QAreaSeriesQScatterSeries 等。

2. 配置一下 chart 圖表的顯示區(qū)域

上述步驟做出來(lái)的表格,其顯示位置是顯示在了整個(gè)界面框中,把其他內(nèi)容都給覆蓋掉了,這是肯定不行的。

接下來(lái)我就將從網(wǎng)上對(duì)比后,覺(jué)得不錯(cuò)的方式記錄下來(lái)。最終效果就是將圖表限制到一定區(qū)域內(nèi)。效果如下圖所示。

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

文件 GUI.ui

這里我使用的是添加一個(gè) Widget 的方法。

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

文件 GUI.cpp

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面


可能 Bug:C2653

參考這個(gè)文章解決就行了:【Visual Studio】報(bào)錯(cuò) C2653,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面。


3. 添加 XY 軸并修改顯示范圍

實(shí)現(xiàn)動(dòng)態(tài)曲線之前,我們先要具備能修改坐標(biāo)軸顯示范圍的功能。否則,當(dāng)數(shù)據(jù)傳輸越來(lái)越多,而坐標(biāo)軸的顯示范圍沒(méi)有及時(shí)發(fā)生更改,那么數(shù)據(jù)就沒(méi)有辦法正常顯示出來(lái)。

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

文件 GUI.h

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

文件 GUI.cpp

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

4. 使用系統(tǒng)當(dāng)前時(shí)間作為 X 軸坐標(biāo)

文件 GUI.ui

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

文件 GUI.h

這里使用 qdatetimeaxis.h 來(lái)完成。

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

文件 GUI.cpp

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

5. 動(dòng)態(tài)曲線

動(dòng)態(tài)曲線,顧名思義,就是讓曲線動(dòng)起來(lái)。其實(shí)經(jīng)過(guò)了以上的這幾步,接下來(lái)只需要兩句話就能讓程序動(dòng)起來(lái)了。

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面

我是將這兩句寫(xiě)到了我的串口接收程序中了,也就是接到數(shù)據(jù),就進(jìn)行圖表的更新。大家可以根據(jù)自己的需求,放到合適的位置,讓他的更新機(jī)制更符合自己的項(xiàng)目需求。

最后,放一張此小項(xiàng)目的最終效果圖。再往下,就涉及到一些實(shí)驗(yàn)室保密數(shù)據(jù)了,因此,就不方便再繼續(xù)展示了。

【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-500504.html

Ref.

  1. 一、Qt Charts
  2. QtCharts編程筆記:VS2019+Qt Charts 5.15.1環(huán)境配置
  3. Qt GUI開(kāi)發(fā)(一)—— Qt Chart的簡(jiǎn)單使用
  4. QChart雙Y軸實(shí)時(shí)更新曲線圖(橫坐標(biāo)為當(dāng)前時(shí)間)
  5. QChart繪制占比圖,但是以時(shí)間軸為X軸

到了這里,關(guān)于【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語(yǔ)言,配合 Qt 開(kāi)發(fā)串口通信界面的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Visual Studio部署matplotlib繪圖庫(kù)的C++版本

    Visual Studio部署matplotlib繪圖庫(kù)的C++版本

    ??本文介紹在 Visual Studio 軟件中配置、編譯 C++ 環(huán)境下 matplotlibcpp 庫(kù)的詳細(xì)方法。 ?? matplotlibcpp 庫(kù)是一個(gè) C++ 環(huán)境下的繪圖工具,其通過(guò)調(diào)用 Python 接口,實(shí)現(xiàn)在 C++ 代碼中通過(guò) matplotlib 庫(kù)的命令繪制各類圖像。由于其需要調(diào)用 Python 接口,因此在配置 matplotlibcpp 庫(kù)時(shí)有些

    2024年02月19日
    瀏覽(21)
  • C++繪圖庫(kù)matplotlibcpp在Visual Studio中的配置方法

    C++繪圖庫(kù)matplotlibcpp在Visual Studio中的配置方法

    ??本文介紹在 Visual Studio 軟件中配置、編譯 C++ 環(huán)境下 matplotlibcpp 庫(kù)的詳細(xì)方法。 ?? matplotlibcpp 庫(kù)是一個(gè) C++ 環(huán)境下的繪圖工具,其通過(guò)調(diào)用 Python 接口,實(shí)現(xiàn)在 C++ 代碼中通過(guò) matplotlib 庫(kù)的命令繪制各類圖像。由于其需要調(diào)用 Python 接口,因此在配置 matplotlibcpp 庫(kù)時(shí)有些

    2023年04月11日
    瀏覽(20)
  • Qt實(shí)時(shí)波形繪圖(使用QCustomPlot)

    Qt實(shí)時(shí)波形繪圖(使用QCustomPlot)

    目錄 前言 一、Qt是什么? 二、QCustomPlot是什么? 三、Qt實(shí)時(shí)波形繪圖 ????????3.1?開(kāi)發(fā)環(huán)境和工具 ????????3.2?實(shí)時(shí)波形繪圖控件 3.2.1 界面設(shè)計(jì)及功能 3.2.2?如何使用該控件 總結(jié) ????????我們?cè)谏婕盎蛘{(diào)試設(shè)備時(shí),通常需要查看過(guò)程數(shù)據(jù),以便了解設(shè)備的運(yùn)行情況

    2024年02月08日
    瀏覽(16)
  • Visual Studio如何使用Qt開(kāi)發(fā)桌面軟件?

    Visual Studio如何使用Qt開(kāi)發(fā)桌面軟件?

    ??筆者熟悉的第一門(mén)編程語(yǔ)言是C#,當(dāng)初本科畢業(yè)設(shè)計(jì)需要進(jìn)行Qgis的二次開(kāi)發(fā),本想利用C#編程,但網(wǎng)上資料較少,多是利用Qt進(jìn)行Qgis的二次開(kāi)發(fā),Qt是利用C++編程,當(dāng)時(shí)利用Qt編譯器進(jìn)行編程,相比Visual Studio還是多有不習(xí)慣,雖然知道VS有Qt插件可以使用,但當(dāng)初嫌麻煩,

    2024年02月13日
    瀏覽(21)
  • Qt Charts - 實(shí)時(shí)曲線

    按照之前的一篇文章,先在工程中添加QChart、QChartView,代碼如下: 然后定義兩個(gè)坐標(biāo)軸,一個(gè)用作X軸,一個(gè)用作Y軸, 添加頭文件: 創(chuàng)建兩個(gè)QValueAxis: 在構(gòu)造函數(shù)中,對(duì)兩個(gè)坐標(biāo)軸進(jìn)行實(shí)例化,把X軸范圍設(shè)置為0-10并放置在坐標(biāo)系的底部,Y軸范圍設(shè)置為0-10并放置在坐標(biāo)系的

    2024年02月06日
    瀏覽(24)
  • Qt(C++)使用QChart動(dòng)態(tài)顯示3個(gè)設(shè)備的溫度變化曲線

    Qt(C++)使用QChart動(dòng)態(tài)顯示3個(gè)設(shè)備的溫度變化曲線

    Qt的QChart是一個(gè)用于繪制圖表和可視化數(shù)據(jù)的類。提供了一個(gè)靈活的、可擴(kuò)展的、跨平臺(tái)的圖表繪制解決方案,可以用于各種應(yīng)用程序,如數(shù)據(jù)分析、科學(xué)計(jì)算、金融交易等。 QChart支持多種類型的圖表,包括折線圖、散點(diǎn)圖、柱狀圖、餅圖等。它還支持多個(gè)數(shù)據(jù)系列(datase

    2024年02月08日
    瀏覽(22)
  • 【VTK】讀取一個(gè) STL 文件,并使用 Qt 顯示出來(lái),在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK

    【VTK】讀取一個(gè) STL 文件,并使用 Qt 顯示出來(lái),在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK

    知識(shí)不是單獨(dú)的,一定是成體系的。更多我的個(gè)人總結(jié)和相關(guān)經(jīng)驗(yàn)可查閱這個(gè)專欄:Visual Studio。 直接先把效果放出來(lái),有需要就往下看。 骷髏3D打印3D模型

    2024年02月14日
    瀏覽(26)
  • <c++開(kāi)發(fā)> Visual Studio使用開(kāi)發(fā)-相關(guān)問(wèn)題雜錄

    <c++開(kāi)發(fā)> Visual Studio使用開(kāi)發(fā)-相關(guān)問(wèn)題雜錄

    <c++開(kāi)發(fā)> Visual Studio使用開(kāi)發(fā)-相關(guān)問(wèn)題雜錄 問(wèn)題1:使用Visual Studio2022 運(yùn)行Visual Studio2019的工程發(fā)生 error MSB8020 前景:使用Visual Studio2022 運(yùn)行Visual Studio2019的工程; 錯(cuò)誤如下: G:WorkSoftVS2022MSBuildMicrosoftVCv170Microsoft.CppBuild.targets(442,5): error MSB8020: 無(wú)法找到 Visual Studio 2019 的

    2024年02月08日
    瀏覽(18)
  • Microsoft Visual Studio C++開(kāi)發(fā)環(huán)境的配置及使用

    Microsoft Visual Studio C++開(kāi)發(fā)環(huán)境的配置及使用

    本文引用自作者編寫(xiě)的下述圖書(shū); 本文允許以個(gè)人學(xué)習(xí)、教學(xué)等目的引用、講授或轉(zhuǎn)載,但需要注明原作者\(yùn)\\"海洋餅干叔 叔\\\";本文不允許以紙質(zhì)及電子出版為目的進(jìn)行抄摘或改編。 1.《Python編程基礎(chǔ)及應(yīng)用》,陳波,劉慧君,高等教育出版社。免費(fèi)授課視頻 Python編程基礎(chǔ)及應(yīng)

    2024年02月04日
    瀏覽(25)
  • 使用 Visual Studio 2022 開(kāi)發(fā) Linux C++ 應(yīng)用程序

    使用 Visual Studio 2022 開(kāi)發(fā) Linux C++ 應(yīng)用程序

    前置條件: Windows上需要先安裝 WSL2,方法見(jiàn): Install WSL | Microsoft Docs 在 WSL2 中依次執(zhí)行如下命令,進(jìn)行安裝如下必需軟件: Visual Studio 2022 引入了用于 Linux C++ 開(kāi)發(fā)的本機(jī) WSL2 工具集,可以構(gòu)建和調(diào)試 Linux C++ 代碼,并提供了非常好的 Linux 文件系統(tǒng)性能、GUI 支持和完整的系統(tǒng)

    2024年02月05日
    瀏覽(38)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包