Qt編寫資料視覺化大屏介面電子看板9-曲線效果
一、前言
為了編寫資料視覺化大屏介面電子看板系統,為了能夠相容Qt4和嵌入式linux系統,尤其是那種主頻很低的,但是老闆又需要在這種硬體上(比如樹莓派、香橙派、全志H3、imx6)展示這麼華麗的介面時,就必須用最傳統的painter方法來實現所有的控制元件了,一開始使用的QChart來實現各個子控制元件,在使用過程中發現比較雞肋,個人感覺QChart是所有的子模組中原始碼寫的最爛的,本人把QChart的原始碼看了一遍,比如餅圖控制元件,居然放置一個label用來顯示對應的文字描述,都懶得用painter去繪製,而且還有大量的型別轉換,這個就效率大大降低了,雖然效果上挺好的,比如繼承自QAnimation類自定義的chart動畫類,還有個整體換膚的,但是在大量資料展示的時候,卡的一逼,比QWT和QCustomPlot差很遠,本人看過QCustomPlot的原始碼,儘管就一個檔案,(其實作者那邊肯定是多個檔案的,只不過釋出的時候合併成一個檔案釋出的,畢竟這樣對於使用者來說使用還是很方便的,就是閱讀不方便,畢竟大部分人用來是直接使用的而不是研究程式碼的。)但是裡邊的程式碼質量非常好非常高,本人特別推崇用QCustomPlot來展示曲線和柱狀圖等,效率很高,本人親自試過最大展示50W資料點,還可以。據朋友所說,可能QWT質量還要更高,我沒有研究過QWT的原始碼,不予置評,估計有可能是的。
在整個資料視覺化大屏介面電子看板系統中,自定義出來的曲線效果包括滑鼠移動到對應資料點高亮顯示,並在一旁彈出tootip提示資訊顯示更詳細的資料,這個提示資訊的位置還要能根據點的位置自動調整以便顯示全部,比如左側第一個點,提示資訊最好在右側,右側最後一個點,提示資訊最好在左側,這樣就比較人性化了。同時還提供遊標十字線來跟隨滑鼠移動,或者提供一個固定的線條作為標識資料,比如警戒線。
二、電子看板介紹
電子看板是目視化管理的一種表現形式,即對資料的狀況一目瞭然地表現,主要是對於管理專案,它通過利用形象直觀而又色彩適宜的各種視覺感知資訊來組織現場生產活動,目視管理依據人類的生理特徵,在生產現場充分利用訊號燈、標識牌、符號顏色等方式來發出視覺訊號,鮮明準確地刺激人的神經末梢,快速地傳遞資訊,形象直觀地將潛在的問題和浪費現象都顯現出來。以便任何人都可以及時掌握管理現狀和必要的情報,從而能夠快速制定並實施應對措施。因此,管理看板是發現問題、解決問題的非常有效且直觀的手段,是優秀的現場管理必不可少的工具之一。
三、功能特點
- 整體總共分三級介面,一級介面是整體佈局,二級介面是單個功能模組,三級介面是單個控制元件。
- 子控制元件包括餅圖+圓環圖+曲線圖+柱狀圖+柱狀分組圖+橫向柱狀圖+橫向柱狀分組圖+合格率控制元件+百分比控制元件+進度控制元件+裝置狀態面板+表格資料+地圖控制元件(包括動態閃爍點+遷徙圖等)+視訊控制元件+其他控制元件等。
- 二級介面可以自由拖動懸浮,支援最小化最大化關閉,響應雙擊自定義標題欄。
- 資料來源支援資料庫採集(預設)、網路通訊、網路請求等,可自由設定每個子介面的採集間隔即資料重新整理頻率。
- 採用純QWidget編寫,支援Qt4.6到Qt5.12.3任何版本,支援嵌入式linux比如樹莓派、香橙派、全志、imx6等。
- 提供三個核心版本,自定義控制元件版本+qchart版本+echart版本。
- 內建多套配色風格樣式,預設紫色,支援任何解析度。
- 可設定標題+目標解析度+佈局方案,啟動立即應用。
- 可設定主背景顏色+面板顏色+十字線遊標顏色。
- 可設定多條曲線顏色,沒有設定顏色的情況下內建15套精美顏色隨機應用。
- 可設定標題欄背景顏色+文字顏色。
- 可設定曲線圖表背景顏色+文字顏色+網格顏色。
- 可設定正常顏色+警戒顏色+報警顏色+禁用顏色+百分比進度顏色。
- 可分別設定各種字型大小,比如全域性+軟體名稱+標題欄+子標題欄+加粗標籤等。
- 可設定標題欄高度+表頭高度+行高度。
- 曲線支援遊標+懸停高亮資料點和顯示值,柱狀圖支援頂部(可設定頂端+上部+中間+底部)顯示資料,全部自適應計算位置。
- 主介面直接滑鼠右鍵切換佈局+配色方案+關閉開啟某個二級窗體。
- 自動記憶所有子視窗的大小和位置,下次啟動立即應用。
- 動態載入佈局方案選單,可以動態新建佈局、恢復佈局、儲存佈局、另存佈局等,使用者可以製造任意佈局。
- 二級窗體,雙擊從主窗體分離出來浮動,可以自由調整大小。再次雙擊標題欄最大化,再次雙擊還原。
- 每個模組都可以自定義採集速度,如果是資料庫採集會自動排隊處理。
四、配置檔案說明
(1)、基本配置引數
欄位 | 描述 | 預設值 |
---|---|---|
WorkMode | 工作模式 timer-模擬資料 db-資料庫採集 tcp-網路採集 http-post請求 | db |
MapStyle | 中間地圖樣式 image-靜態圖片 point-閃爍點 move-遷徙圖 | point |
Title | 軟體標題,顯示在軟體中間頂部 | 數字化工廠資訊中心 |
Ratio | 解析度,目前無意義 | 4096*216 |
Layout | 佈局方案,每次切換佈局方案以後都會儲存 | 完整佈局 |
Theme | 配色方案,每次切換配色方案以後都會儲存 | 紫色風格 |
VideoAddr | 視訊流地址,視訊模組播放的視訊地址 | 鳳凰衛視 |
AutoRun | 是否開機啟動 | false |
MoveEnable | 模組是否可以拖動,啟用以後模組可以任意拖動 | true |
CutLeftBottom | 底部佈局左側是否切掉 | true |
CutRightBottom | 底部佈局右側是否切掉 | true |
StaticLine | 是否繪製靜態定位線,為假則繪製遊標十字線 | true |
ShowPercent | Y軸是否顯示百分比 | true |
StepY | Y軸大尺度步長 | 6 |
CursorHideTime | 使用者不操作滑鼠自動隱藏滑鼠的時間間隔,單位秒 | 5 |
(2)、顏色配置引數
欄位 | 描述 | 預設值 |
---|---|---|
ColorMainBg | 主背景顏色 | QColor(4, 7, 38) |
ColorPanelBg | 面板背景顏色 | QColor(26, 29, 60) |
ColorLine | 十字線定位線顏色 | QColor(255, 0, 0) |
ColorLine1 | 線條1顏色 | QColor(0, 176, 180) |
ColorLine2 | 線條2顏色 | QColor(32, 159, 223) |
ColorLine3 | 線條3顏色 | QColor(255, 192, 0) |
ColorTitleBg | 標題欄背景顏色 | QColor(48, 48, 85) |
ColorTitleText | 標題欄文字顏色 | QColor(255, 255, 255) |
ColorChartBg | 曲線圖表背景顏色 | QColor(38, 41, 74) |
ColorChartText | 曲線圖表文字顏色 | QColor(250, 250, 250) |
ColorChartGrid | 曲線圖表網格顏色 | QColor(180, 180, 180) |
ColorOk | 正常顏色 | QColor(0, 176, 180) |
ColorLow | 警戒顏色 | QColor(255, 192, 0) |
ColorAlarm | 報警顏色 | QColor(214, 77, 84) |
ColorDisable | 禁用背景顏色 | QColor(210, 210, 210) |
ColorPercent | 環形百分比背景顏色 | QColor(0, 254, 254) |
(3)、字型和尺寸配置引數
欄位 | 描述 | 預設值 |
---|---|---|
MainFont | 全域性字號 | 微軟雅黑,12 |
NameFont | 軟體名稱字號 | 19 |
LabFont | 加粗標籤字號 | 12 |
DeviceFont | 裝置面板字號 | 12 |
SubTitleFont | 模組子標題欄字號 | 13 |
TitleFont | 模組標題欄字號 | 15 |
TitleHeight | 模組標題欄高度 | 23 |
HeadHeight | 表格表頭高度 | 28 |
RowHeight | 表格行高度 | 25 |
(4)、採集速度配置引數,單位毫秒
欄位 | 描述 | 預設值 |
---|---|---|
IntervalModule1 | 模組1採集間隔 | 5000 |
IntervalModule2 | 模組2採集間隔 | 5000 |
IntervalModule3 | 模組3採集間隔 | 5000 |
IntervalModule4 | 模組4採集間隔 | 5000 |
IntervalModule5 | 模組5採集間隔 | 5000 |
IntervalModule6 | 模組6採集間隔 | 5000 |
IntervalModule7 | 模組7採集間隔 | 5000 |
IntervalModule8 | 模組8採集間隔 | 5000 |
(5)、本地資料庫配置引數
欄位 | 描述 | 預設值 |
---|---|---|
LocalDBType | 本地資料庫型別,Sqlite、Mysql等 | Mysql |
LocalDBIP | 本地資料庫主機地址 | 127.0.0.1 |
LocalDBPort | 本地資料庫埠 | 3306 |
LocalDBName | 本地資料庫名稱 | bigscreen |
LocalUserName | 本地資料庫使用者名稱 | root |
LocalUserPwd | 本地資料庫密碼 | root |
五、特別說明
- 可執行檔案同級資料夾有layout+layout_1440+layout_1920,程式預設自動識別解析度並載入對應的佈局資料夾,比如1920解析度則從layout_1920資料夾載入佈局,並作為整體佈局資料夾。
- 程式預設是模擬資料,如果需要從資料庫採集則修改配置檔案WorkMode=db即可。
- 如果發現佈局拖動亂了,可以直接滑鼠右鍵選擇恢復佈局即可,在儲存佈局以前。
- 在中間地圖模組滑鼠右鍵可以彈出選單,切換佈局和配色方案等。
- 在模組的標題欄上右鍵可以彈出預設的dock選單,用來顯示和隱藏各模組。
- 軟體關閉過程中會自動儲存佈局,下次啟動以後自動應用。
- 如果使用的預設的預設的配色方案比如紫色風格,則配置檔案中的顏色全部無效,會自動應用程式碼中的顏色,如果需要啟用自定義的顏色,則將配置檔案的 Theme=\x81ea\x5b9a\x4e49\x98ce\x683c 即可。此時開啟軟體會應用配置檔案中的顏色。
- 右鍵選單可以截圖儲存,預設命名為 配色方案名稱_佈局方案名稱.png 儲存在snap目錄下。
- 如果是XP系統請先執行fixff.cmd,用來修復ffmpeg在XP上不可用的BUG。
- 在二級窗體的標題欄上右鍵彈出模組選單,可以對單個模組開啟關閉,其他地方右鍵全域性選單。
- 可執行檔案下載地址:https://pan.baidu.com/s/1o97IGvZgTgDhlkuXQa4B0w 提取碼:r2bv。
- 會不定期更新程式,歡迎各位提出批評和建議。
六、效果圖
相關推薦
Qt編寫資料視覺化大屏介面電子看板9-曲線效果
一、前言 為了編寫資料視覺化大屏介面電子看板系統,為了能夠相容Qt4和嵌入式linux系統,尤其是那種主頻很低的,但是老闆又需要在
Qt編寫資料視覺化大屏介面電子看板1-佈局方案
一、前言 佈局方案在整個資料視覺化大屏介面電子看板系統中,是除了基礎功能以外的核心功能之一,只有具備了佈局方案這個功能,才能讓使用
Qt編寫資料視覺化大屏介面電子看板2-配色方案
一、前言 做完整個資料視覺化大屏介面電子看板系統後,為了提升點逼格,需要提供好幾套預設的風格樣式以供選擇,這樣使用者可以選擇自己喜
Qt編寫資料視覺化大屏介面電子看板3-新建佈局
一、前言 能夠新建佈局,也是資料視覺化大屏介面電子看板系統中的必備功能之一,新建佈局這樣的功能一般做到右鍵選單中,單擊新建佈局選單
Qt編寫資料視覺化大屏介面電子看板7-窗體浮動
一、前言 窗體浮動的場景也比較多,用途也比較大,比如視訊監控模組,有時候需要調整大小和位置,而不是作為dock嵌入到佈局中,一旦嵌
Qt編寫資料視覺化大屏介面電子看板8-調整間距
一、前言 在資料視覺化大屏介面電子看板系統中,前期為了使用目標客戶機,調整間距是必不可少的工作,QMainWindow中的QDoc
Qt編寫資料視覺化大屏介面電子看板11-自定義控制元件
一、前言 說到自定義控制元件,我是感覺特別熟悉的幾個字,本人親自原創的自定義控制元件超過110個,都是來自各個行業的具體應用真實需
政務大資料視覺化大屏
1 前言 這次的視覺化大屏是前段時間的一個專案的demo,藉此機會總結一下。 2 簡介 本專案主要基於百度的Echarts框架實現資料的視覺化,主要包括餅狀圖、柱狀圖、折線圖、資訊輪播等,背景為黑色,並且css的樣式中做了三個寬度的樣式做到對寬度的自適應。下面是大屏的展示圖:
使用DataV製作實時銷售資料視覺化大屏
開發十年,就只剩下這套架構體系了! >>>
手把手教你做酷炫的資料視覺化大屏,零基礎的你僅需6步
今年視覺化大屏又被大家推上了熱搜,什麼500強企業分析大屏、指揮中心大屏、大屏視覺化分析等
如何做出優美的視覺化大屏
作為一個 BI 行業人,我們對 DashBaord,領導駕駛艙,儀表盤等概念都非常熟悉,然而忽如一夜春風來,客戶都用起大屏來 大屏視覺化需求,從 2015 年 2016 年,突然之間就成了 BI 專案,資料視覺化專案需求列表的中的常見需求項,那什麼是大屏呢,和我們原先的 DashBaord,有什麼區別呢
不懂程式碼也能做出酷炫視覺化大屏
最近在做一個數據視覺化大屏專案,從指標設計、視覺設計、視覺化動效到大屏硬體、開發工具整個流程,總結了一些經驗和觀點,想和大家分享。 大屏製作工具 大屏的製作,可以用程式碼開發或現成的視覺化工具來實現。 用的比較多的就是JS+Ecahrts,但資料量支撐、後臺響應、實時更新、平臺運維等應該還要呼叫更多的技
使用百度echarts製作視覺化大屏——加入地圖
var geoCoordMap = { '上海': [121.4648,31.2891], '東莞': [113.8953,22.901], '東營': [118.7073,37.5513], '中山': [113.4229,22.478], '臨汾': [111.4783,36
10款視覺化大屏特效,酷炫又內涵!
關於視覺化資料大屏,之前已經講了好多好多了,從大屏設計規範到大屏製作技巧、學習視訊等等,我們做了很多的經驗分享。 但還遠遠不夠,使用者始終在提出更高的要求,其中最重要的一點便是“更酷炫”。 但這裡涉及到兩方面難題: 一是諸如“好看”、“酷炫”這樣的形容詞,本身是很難定義清楚其範疇的,畢竟
使用百度echarts製作視覺化大屏
$(document).ready(function (){//環形進度條設定物件option_Progress={title : {text: '目前進度',subtext: '50%',x: 'center',y: 90,itemGap: 10,textStyle : {color : '#B7E1FF'
告訴你如何免費迅速的(5分鐘)製作視覺化大屏
現在我們看新聞總是能看到這樣的視覺化大屏 其實這個是可以免費,並且迅速製作的(當然不付費,某些功能是不能用的) 開始製作 我們可以下載一些免費版的大屏製作軟體 安裝之後點開設計器 就是這樣的↓ 我們做視覺化大屏是用決策報表↓ 連結資料庫程式比較多,我做了幾個本
使用百度echarts製作視覺化大屏——製作一個雙層餅圖
實現一個兩層巢狀的環形圖,展示三個分類下各個品牌車輛的市場貢獻度。先看一下最終效果。主要程式碼如下://產品餅圖元件和屬性var productPie=null;var productPie_option=null;$(document).ready(function (){
大屏資料視覺化示例
資料視覺化:把相對複雜的、抽象的資料通過可視的、互動的方式進行展示,從而形象直觀地表達資料蘊含的資訊和規律。 資料視覺化是資料空間到圖形空間的對映,是抽象資料的具象表達。 資料視覺化互動的基本原則:總覽為先,縮放過濾按需檢視細節。 大屏資料視覺化是當前視覺化領域的一項熱門應用,通常可
用H5大屏資料視覺化開發
專案中需要做一個數據展示用的看板,初接到任務覺得這個沒有什麼難度,做個漂亮的網頁瀏覽器全屏就可以了。可是實際做的過程中碰見了問題。 第一:瀏覽器不能有橫向和縱向的滾動條,沒有滑鼠的滾動操作過程。 第二:有各類尺寸的屏,除了在九宮格拼接屏上完美顯示,還要同時滿足普通使用者的電腦端顯示。電腦的客
如何做大屏資料視覺化設計?
文章結構及思維導圖: 一、基礎概念 1. 什麼是資料視覺化 把相對複雜、抽象的資料通過可視的方式以人們更易理解的形式展示出來的一系列手段叫做資料視覺化,資料視覺化是為了更形象地表達資料內在的資訊和規律,促進資料資訊的傳播和應用。 在當前新技術支援下,資料視覺化除了“可視”,還可有可