Qt編寫自定義控制項3 速度儀錶盤

2022-01-29 12:46:26 字數 2429 閱讀 6896

速度儀錶盤,寫作之初的本意是用來展示當前測試的網速用的,三色圓環+數碼管顯示當前速度,qt自帶了數碼管控制項qlcdnumber,直接整合即可,同時還帶有動畫功能,其實也可以用在汽車+工業領域等,展示汽車的當前速度和各種指標情況,比如生成領域的完成百分比等,控制項採用純painter繪製,自由拉伸不變形,背景透明的,貼上個背景圖就會顯得更漂亮。

/** * 1:可設定範圍值,支援負數值

* 2:可設定精確度,最大支援小數點後3位

* 3:可設定大刻度數量/小刻度數量

* 4:可設定開始旋轉角度/結束旋轉角度

* 5:可設定是否啟用動畫效果以及動畫效果每次移動的步長

* 6:可設定三色圓環佔比例

* 7:自適應窗體拉伸,刻度尺和文字自動縮放

*/#include class qlcdnumber;

#ifdef quc

#if (qt_version < qt_version_check(5,7,0))

#include #else

#include #endif

class qdesigner_widget_export gaugespeed : public qwidget

#else

class gaugespeed : public qwidget

#endif

;#endif //gaugespeed_h

void gaugespeed::drawring(qpainter *painter)

void gaugespeed::drawscale(qpainter *painter)

else if (index < (indexstart + indexmid)) else if (index < (indexstart + indexmid + indexend))

index++;

pen.setwidthf(1.5);

painter->setpen(pen);

painter->drawline(0, radius - 13, 0, radius);

} else

painter->rotate(anglestep);

}painter->restore();

}void gaugespeed::drawscalenum(qpainter *painter)

painter->restore();

}void gaugespeed::drawpointer(qpainter *painter)

超過130個精美控制項,涵蓋了各種儀錶盤、進度條、進度球、指南針、曲線圖、標尺、溫度計、導航條、導航欄,flatui、高亮按鈕、滑動選擇器、農曆等。遠超qwt整合的控制項數量。

每個類都可以獨立成乙個單獨的控制項,零耦合,每個控制項乙個標頭檔案和乙個實現檔案,不依賴其他檔案,方便單個控制項以原始碼形式整合到專案中,較少**量。qwt的控制項類環環相扣,高度耦合,想要使用其中乙個控制項,必須包含所有的**。

全部純qt編寫,qwidget+qpainter繪製,支援qt4.6到qt5.12的任何qt版本,支援mingw、msvc、gcc等編譯器,不亂碼,可直接整合到qt creator中,和自帶的控制項一樣使用,大部分效果只要設定幾個屬性即可,極為方便。

每個控制項都有乙個對應的單獨的包含該控制項原始碼的demo,方便參考使用。同時還提供乙個所有控制項使用的整合的demo。

每個控制項的源**都有詳細中文注釋,都按照統一設計規範編寫,方便學習自定義控制項的編寫。

每個控制項預設配色和demo對應的配色都非常精美。

超過120個可見控制項,6個不可見控制項。

部分控制項提供多種樣式風格選擇,多種指示器樣式選擇。

所有控制項自適應窗體拉伸變化。

整合自定義控制項屬性設計器,支援拖曳設計,所見即所得,支援匯入匯出xml格式。

自帶activex控制項demo,所有控制項可以直接執行在ie瀏覽器中。

整合fontawesome圖形字型+阿里巴巴iconfont收藏的幾百個圖形字型,享受圖形字型帶來的樂趣。

所有控制項最後生成乙個dll動態庫檔案,可以直接整合到qtcreator中拖曳設計使用。

自定義控制項欣賞: 提取碼:6rj4

屬性設計器欣賞: 提取碼:6014

自定義控制項外掛程式開放動態庫dll使用(永久免費),無任何後門和限制,請放心使用。

自定義乙個儀錶盤View

背景色變化很醜,請忽略哈。主要是演示一下效果哈哈哈!首先看到這個效果。分析一下有哪些組成部分 話不多說開擼,先定個小目標,繼承個view類再說 public class ybbview extends view public ybbview context context,nullable attr...

Qt編寫自定義控制項66 光暈時鐘

1 可設定圓弧半徑寬度 2 可設定光暈寬度 3 可設定光暈顏色 4 可設定文字顏色 5 採用動畫機制平滑進度展示時間 include ifdef quc if qt version qt version check 5,7,0 include else include endif class qde...

Qt 自定義控制項(電池)

閒著蛋疼就做了乙個簡單的自定義電池控制項。其實想了想還挺多地方可以用的啦。效果圖。通過公有方法可修改電量,設定警戒電量,設定是否正在充電,根據需要設定漸變色,圓角,步長。public bool setvalue double v bool setminvalue double v bool setm...