QCustomplot(一) 能做什么事

回到頂部

一、QCustomPlot簡介

??? 之前在Qt之自繪制餅圖這篇文章的說明中我簡單的描述了下目前依賴于qt的第三方繪圖庫,此后我會針對自己使用QCustomPlot的情況做一總結,以方便大家參考

??? QCustomPlot的官方網址:Qt Plotting Widget?QCustomPlot?- Introduction

??? QCustomPlot的源碼只有2個文件,所以添加供自己的工程師特別方便,或者你自己把這兩個文件編譯成靜態庫、動態庫的形式都行。

回到頂部

二、效果預覽

??? 如圖1是我自己把官方的示例代碼融合在一起做的一個小示例,展示了QCustomPlot能畫的圖,唯一美中不足的是QCustomPlot不能畫餅圖,這不也就有了文章開頭說的Qt之自繪制餅圖文章,這篇文章中我使用Qt中原生的QWidget來自己繪制了一個大小可變的餅圖,有興趣的小伙伴可以去看看。

圖1 QCustomPlot使用

??? 看到上面的效果感覺怎么樣呢,是不是還不錯,可以滿足大多數人的需求了,可是如果你們做的產品要求比較嚴格,那么你很可能就需要在QCustomPlot的源碼上進行二次開發,甚至更改源碼。。。

回到頂部

三、源碼下載

??? 如圖2所示,是下載QCustomPlot源碼的方式,紅色框中的文件是包含源碼、示例和幫助文檔的;黃色框中的文件只有源碼;省下的一個文件看名字都知道了,只是一個動態庫而已,那么我們就根據自己的需要來下載了,即使你都下載了也沒事。這里我選擇下載的是第一個,包含了幫助文檔、示例代碼以及源碼。

圖2 QCustomPlot下載

??? 細心的同學就會發現圖2中有兩個版本的QCustomPlot包,為什么會有兩個包呢,其實是這樣的,1.3.2版本是一個發布包,也就是說官方認為這是一個相對來說比較穩定的版本,而2.0.0-beta版本則是一個測試版本,或者說官方把其開源出來只是讓大家幫忙測試,并回饋使用結果。

??? 以上的對比僅僅只是從源碼的發布方式比較的,如果看了源碼你就會發現,其實不僅僅如此,2.0.0-beta版本和1.3.2release版本還是有很大的區別,我個人也研究了幾天的QCustomPlot源碼,我覺著最大的區別應該只有3點,也就是2.0.0版本比1.3.2版本有優勢的地方:真正的分層繪制、圖標數據的分離和坐標軸刻度計算,說到這里我順帶提一嘴,QCustomPlot封裝不好的地方,或者有待改進的地方,說的不對,歡迎指正,對于坐標軸和坐標軸文本是否繪制的判斷條件僅僅是判斷畫筆的類型,對于大小刻度是否繪制的判斷條件僅僅是坐標軸刻度的刻度個數時候為零,郁悶。。。

??? 后續我會分功能點,或者說是具體的類模塊來分析QCustomPlot這個庫,好了,這篇QCustomPlot的開篇文章到此也就基本結束了,有興趣的小伙伴可以繼續關注。。。

注:后續文章都是以QCustomPlot2.2.0beta版本為基礎進行分析

回到頂部

四、相關文章

????Qt之自繪制餅圖

?

轉載于:https://www.cnblogs.com/guaiweihudou/p/10761681.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277857.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277857.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277857.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Teams app代碼中enable nullable

昨天講了一下如何把代碼升級到 net6,今天我優化了好幾個小時更新代碼,enable了nullable。 c#的nullable我一直非常喜歡,它可以幫助開發人員,讓開發人員去思考,哪些地方需要可以為null,哪些地方不需要。它并…

shiro(一)簡介、理論知識

2019獨角獸企業重金招聘Python工程師標準>>> 開濤學shiro:http://jinnianshilongnian.iteye.com/blog/2018398 shirospirngmvc參考: https://www.cnblogs.com/sharpest/p/5865732.html http://peirenlei.iteye.com/blog/2086639 https://blog.csdn.net/c…

2019.04.24筆記

*)關于swing 今天同學誤解了我的意思,以為我要用java代碼做頁面和圖形,給我推薦了swing。 swing真是眼熟,大學課程里的。通過后臺代碼操作頁面和圖形。記得當年大學時,swing就已經淪為一種過時的技術了。到現在&#x…

Teams 的 Meeting App

Teams 的 Meeting App 已經正式推出了一段時間,相應的文檔也已經較為完善了,我接下來會寫一系列的文章,來介紹如何開發一個自己的Meeting app。這篇文章作為這個系列的第一篇,將介紹 meeting app 是如何被使用的,有哪些…

Github上最受歡迎的Python輕量級框架Flask入門

flask最近終于發布了它的1.0版本更新,從項目開源到最近的1.0版本flask已經走過了8個年頭。# app.py from flask import Flask app Flask(__name__)app.route("/") def hello():return "Hello World!"if __name__ "__main__":app.ru…

mysql表關聯

mysql的表關聯: left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄 right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄 inner join(等值連接) 只返回兩個表中聯結字段相等的行 轉載于:https://www.cnblogs.com/bloghua…

開發第一個Meeting App

今天我們來看一下如何使用c# net6 來開發一個 teams的 meeting app。首先先確保本地安裝了最新版本的 net6。創建一個目錄,然后在目錄下輸入下面的命令行,讓 dotnet 來生成一個初步的asp.net core 代碼框架。 dotnet new razor代碼框架生成如下的目錄和…

solrCloud搭建

一.什么是solrCloud? SolrCoud(solr云)是solr提供的分布式搜索方案。當一個系統搜索請求并發很高的時候,就需要使用solrCloud來滿足這些需求 solrCloud是基于solr和zookeeper的分布式的搜索方案,它的主要思想是使用zookeeper作為擠集群配置的…

Linux 添加新用戶賬號并賦予root權限

除了root用戶之外,通常需要為每個管理創建各自的用戶賬號,方便每個管理員登錄使用, 步驟如下: 1. 添加新用戶賬號 useradd mary.lee 2. 為新用戶賬號設置密碼 passwd mary.lee 3. 為新用戶賬號賦予root權限 usermod -a -G root…

如何獲取 Teams Meeting 的上下文信息

我們上一篇文章講了如果使用 net6 和 c# 來快速開發一個最簡單的 teams meeting app。為了讓大家比較容易理解,上個sample非常簡單,簡單到沒有什么功能,那我們現在就來慢慢擴展這個app的功能:看看如何獲取 meeting 的上下文。 打…

php的運行流程

1、Zend引擎:Zend整體用純C實現,是PHP的內核部分,他將PHP代碼翻譯(詞法、語法解析等一系列編譯過程)為可執行opcode的處理并實現相應的處理方法、實現了基本的數據結構(如:hashtable、OO&#x…

內置方法

isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)檢查是否obj是否是類 cls 的對象 class Foo(object):pass obj Foo() isinstance(obj, Foo) issubclass(sub, super)檢查sub類是否是 super 類的派生類 class Foo(object):pass class Bar(Foo):pass issubclass…

會議中的Meeting App

接著我們上兩篇博客文章,我們說了如何開發會議前和會議后的 meeting app,那如何開發一個會議中的 app 呢,實際上比較簡單,我們只需要在 tab 的配置項中勾選下面這兩個選項即可。 勾選后,我們安裝app到我們的一個會議中…

0-2歲的app開發人員必讀,Android開發APP前的準備事項

2019獨角獸企業重金招聘Python工程師標準>>> 隨著移動互聯網的興起,各行各業對移動應用的需求越來越大,從事APP開發的人也越來越多,APP開發行業可以說是方興未艾。APP開發是比較復雜的事情,涉及產品、美工設計、服務器…

FixedThreadPool吞掉了異常

為了方便遍描述問題,如下是簡化后的 public class RunException {public static void main(String[] args) { ExecutorService readerPool Executors.newFixedThreadPool(3); readerPool.submit(new Runnable() { public void run() { throw new RuntimeException(…

Teams Meeting App的 task 彈出框

前幾篇文章我們介紹了 Teams Meeting App 的各種類型和如何從無到有的使用 net6 和 c# 來開發一個 Teams Meeting app,那今天我們開始討論一些 meeting app 的高級互動: task 彈出框。我們先來快速修改一下之前的代碼,看看什么是 task 彈出框…

react 學習

react官網地址:http://facebook.github.io/react/ webpack官網地址:http://webpack.js.org/ 英文 https://www.webpackjs.com/ 中文 參考資料: React 入門實例教程-阮一峰 webpack的學習 學習列表: 了解react的語法&#x…

如何獲取Teams Meeting 詳情

最近有一些朋友問我,有沒有可能獲取到會議的詳情,我搜索了目前所有的 teams 文檔,發現有一個api可以獲取,不過在我寫這篇文章的時候,這個 api 還在 preview 階段,可能在正式發布前,還會有一些變…

C++ : 內聯函數和引用變量

一.內聯函數 內聯函數和普通函數的使用方法沒有本質區別&#xff0c;我們來看一個例子&#xff0c;下面展示了內聯函數的使用方法&#xff1a; #include <iostream> using namespace std; //下面展示內聯函數的使用 inline double square(double x) {return (x*x);} int…

Teams Meeting 實時事件通知

Microsoft Teams最近推出了很多新的功能和api&#xff0c;我們今天就來一起看一下 teams 會議的實時事件通知&#xff0c;我覺得有了這個功能&#xff0c;我們的app&#xff0c;我們的bot又可以有很多可以實現的場景了。 我們來看看如何在 c# 里處理會議開始和結束這兩個事件。…