lvgl gauge(表盤控制項)

2021-10-14 15:27:25 字數 1614 閱讀 1584

//9. 儀表控制項

//設定時鐘的**:

設定儀表的樣式

static lv_style_t gauge_style;

lv_style_copy(&gauge_style, &lv_style_pretty_color);

gauge_style.body.main_color = lv_color_hex3(0x666); /*開始的刻度條顏色*/

gauge_style.body.grad_color = lv_color_hex3(0x666); /*結束的刻度條顏色*/

gauge_style.body.padding.left = 10; /*刻度條的長度*/

gauge_style.body.padding.inner = 8; /*文字與刻度條的距離*/

gauge_style.body.border.color = lv_color_hex3(0x333); /*指標圓環的顏色*/

gauge_style.line.width = 3; /*線條寬度*/

gauge_style.text.color = lv_color_hex3(0x333); /*文字顏色*/

gauge_style.line.color = lv_color_red; /*超出臨界值的線條顏色*/

描述針的顏色

static lv_color_t needle_colors[3];

needle_colors[0] = lv_color_blue;

needle_colors[1] = lv_color_orange;

needle_colors[2] = lv_color_purple;

建立乙個儀表控制項

lv_obj_t * gauge1 = lv_gauge_create(lv_scr_act(), null);

設定儀表的樣式

lv_gauge_set_style(gauge1, lv_gauge_style_main, &gauge_style);

設定指標的個數

lv_gauge_set_needle_count(gauge1, 3, needle_colors);

設定儀表控制項的大小

lv_obj_set_size(gauge1, 150, 150);

設定儀表控制項的位置

lv_obj_align(gauge1, null, lv_align_center, 0, 120);

在刻度上設定乙個臨界值。在此值之後'線條.顏色'將繪製比例線

lv_gauge_set_critical_value(gauge1, 80);

設定儀表的最小值和最大值

lv_gauge_set_range(gauge1, 0, 100);

0 設定指標的值

lv_gauge_set_value(gauge1, 0, 10);

lv_gauge_set_value(gauge1, 1, 20);

lv_gauge_set_value(gauge1, 2, 30);

效果

iOS可復用控制項之表盤

效果 實現 實際應用中,整個區域經常需要分為偏低區域 適中區域 偏高區域等不同的劃分區域,要用不同的顏色標識,這裡我們預設劃分低 中 高三個區域,所以需要兩個區域的間隔值 htdialview.h import inte ce htdialview uiview property nonatomic...

用swift開發儀錶盤控制項(一)

蘋果swift剛剛推出不久,接觸到這個語言是乙個偶然的機會,無聊之餘隨便看了下它的語法 瞬間就被感動了,switch 中居然大膽淘汰了break,完全是 的做法,其他語言沒這麼大膽和聰明,基本上switch,都要搭配一大堆break 沒有開發者考慮過繁瑣性 因為99 的時候要使用break,所以蘋果...

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

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