圆形进度条控件如何使用?

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

圆形进度条控件如何使用?Thumbnail
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 什么是圆形进度条控件?
  2. 2. 15.1 圆形进度条控件属性说明
  3. 3. 15.2 圆形进度条控件

什么是圆形进度条控件?

圆形进度条控件如何使用?Figure

随着用户对人机交互体验越来越高,串口屏应用的场合范围越来越广,目前常规的矩形进度条已无法适用于部分特殊应用场合。所以我司在软件上新推出的一个圆形进度条控件。可设置炫酷的图片作为背景,增强显示效果,通过自由选择起始角度和终止角度,将参数值形象显示出来。

本例程中介绍圆形进度条控件的应用,实现滑动圆形进度条控件改变温度值

适用范围:F型、基本型不支持

例程下载链接:《圆形进度条控件应用》(点击跳转)

15.1 圆形进度条控件属性说明

圆形进度条控件的属性窗口如下所示

圆形进度条控件如何使用?Figure1

进度条宽度

设置进度条的粗细度。

填充方式

进度条的样式,可选择颜色或者图片,如下所示

圆形进度条控件如何使用?Figure2
  1. 【颜色】:纯色显示。
  2. 【Image】:使用图片时可以自行设计进度条的样式

起始角度

进度条的起始位置(圆形进度条的值为角度,最大角度为359,360度为0度),如下所示

圆形进度条控件如何使用?Figure3

终止角度

圆形进度条的结束位置,如下所示

圆形进度条控件如何使用?Figure4

滑动调节

圆形进度条控件的调节方式有4类,可选择禁用、起始角度、终止角度或者两个角度,如下所示

圆形进度条控件如何使用?Figure5
  1. 【禁止】:不可通过触摸调节
  2. 【终止角度】:触摸进度条终止位置拖动进度条
  3. 【起始角度】:触摸进度条起始位置拖动进度条
  4. 【两个角度】:触摸两端都可拖动进度条

触摸位置

圆形进度条控件的触摸位置,可选末端或者进度条,如下所示

【末端】:仅点击或滑动圆形进度条末端,才可以改变值

【progress bar】:点击或滑动进度条即可改变值

圆形进度条控件如何使用?Figure6

限制角度

圆形进度条控件的限制角度,可选是或者否,如下所示

【是】:拖动范围只能在起始角度和终止角度之间;

【否】:没有限制角度,可随意滑动。

通知方式

圆形进度条控件的通知方式可选松开时或者滑动时,如下所示

松开时:拖动进度条时不下发,松开时才下发指令;

滑动时:拖动进度条的过程中下发指令。

圆形进度条控件如何使用?Figure7

滑块图标

可以添加滑块样式,建议图片格式为全透的格式png

15.2 圆形进度条控件

【圆形进度条控件】画面,介绍圆形进度条控件在串口屏中的应用。

画面配置

在【圆形进度条控件】画面的“背景图片”导入相应的美工图片画面中添加1个圆形进度条控件(controlID:1)和1个文本控件(controlID:2),如下所示

圆形进度条控件如何使用?Figure8

属性配置

在圆形进度条控件的属性窗口中,设置【进度条厚度】为“10”、【填充方式】为“颜色”、【颜色】为“黄色”、【起始角度】为“180”、【终止角度】为“360”、【滑动调节】为“终止角度”、【触摸位置】为“末端”、【限制角度】为“是”、【通知方式】为“滑动时”、【滑块图标】为图标的路径,属性配置如下所示、

圆形进度条控件如何使用?Figure9

LUA script

openLUA编辑器

上位机VisualTFT内部已集成了LUA开发编译环境,点击菜单栏【Tools】,Choice“LUA编辑器”,如下所示

圆形进度条控件如何使用?Figure10
API函数说明

大彩科技针对LUA脚本提供了丰富的API接口函数,具体函数可以查阅文档《物联型LUAScriptAPI》。本教程文档中所涉及到的部分的相关接口函数

  • 函数set_value(screen,control,value)

注释:指定某个画面中的某个控件的值:

parameter:screen 目标画面ID

control 目标控件ID

value 目标控件的值

  • 函数on_control_notify(screen,control,value)

注释:点击按钮控件,修改文本控件、修改滑动条都会执行此回调函数

parameter:screen 目标画面ID

control 目标控件ID

value 目标控件的值

编写脚本

使用LUAScript,将圆形进度条的值与文本控件相关联。当滑动圆形进度条控件时,系统会调用回调函数on_control_notify,并将圆形进度条控件的值传入函数中,将值与文本控件的值关联的程序如下所示

--用户通过触摸修改控件后,执行此回调函数。
--点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
function on_control_notify(screen,control,value)
  local Temperature = 0
  if screen == 0 and control == 1 
  then
    Temperature = value & 0xFFFF
    Temperature = (Temperature - 180)/5
    set_value (0,2,Temperature)
  end
end

若LUA脚本设置圆形进度条的值,调用set_value()函数即可,假设起始角度为180,终止角度为270,则为: set_value (0,1,(180 << 16)|270)

外部MCU控制

若不想使用LUA脚本实现上面例程效果,可通过用户单片机控制圆形进度条控件,详细参考开发包keil程序中的him.dever.h文件函数声明以及him.dever.c文件中的定义。

滑动圆形进度条控件末端,串口屏下发指令。MCU解析指令后会调用 NotifyAngleProgress函数,并把解析出来的圆形进度条值传进该函数中,在函数中设置文本控件的值,程序如下所示

注意:该控件值是4个字节,其中前面两个字节为“起始角度”,后面两个字节为“终止角度”,如设置圆形进度条的起始角度为180度、终止角度为270,指令如下所示:EE B1 10 00 00 00 01 00 B4 01 0E FF FC FF FF

帧头组态指令设置控件画面IDcontrolID起始角度__H起始角度_L终止角度_H终止角度_L帧尾
EEB11000 0000 0100B4010EFF FC FF FF
/**********************************************************************
** Function name   :  NotifyAngleProgress
** Descriptions    :  圆形进度条控件通知
** input parameters:  screen_id:  画面ID
**                    control_id:  controlID
**                    value: 圆形进度条的控件值
** output parameters: 无
** Returned value   : 无
*********************************************************************/
void NotifyAngleProgress(uint16 screen_id, uint16 control_id, uint32 value)

{
    ……
    float TextVlaue = 0;
    if(screen_id == 0 && control_id == 1 ){
        TextVlaue = value & 0xFFFF;
        TextVlaue = (TextVlaue – 180)/5;
        SetTextInt32(0, 2, TextVlaue, 1, 1);
     }
    ……
}

如需要MCU控制圆形进度条控件,则代码如下所示;

/**********************************************************************
** Function name:    void Set_AngleProgress(uint16 screen_id,
**                                          uint16 control_id,
**                                          uint16 start,
**                                          uint16 end)
** Descriptions    : 设置圆形进度条
** input parameters:  screen_id:  画面ID
**                    control_id: controlID
**                    start     : 起始角度
**                    end       : 终止角度
** output parameters  : 无
** Returned value     : 无
*********************************************************************/
{
    ……
    Set_AngleProgress(0,1,180,360);//设置画面0、control1圆形进度条的起始角度为180、终止角度为360
    ……
}

运行预览

运行虚拟屏,拖动画面中圆形进度条控件(controlID:1)的末端(滑块图标),屏幕会下发指令,同时,关联的文本控件(controlID:2)的数值显示同步更新;VisualTFT软件和虚拟屏用“虚拟串口对”建立联机。open【指令助手】,选择左侧导航栏【圆形进度条】,设置“设置进度条角度”区域的指令参数。如例程中,控制画面中的圆形进度条控件(controlID:1)以及文本控件(controlID:2),填写对应的参数,click“send”。则虚拟屏对应的控件显示对应的状态,运行效果如下所示

圆形进度条控件如何使用?Figure11
技术术语(共 1 个)—— Click to Expand
serial port计算机与外部设备进行串行通信的物理接口
来源/工具信息 —— Click to Expand
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category basic control documentation / Touch screen development documentation 字数 3363 字 · 阅读约 9 分钟 更新 2026-07-01 永久链接 https://www.modbus.cn/7105.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus debugging tool,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 No installation required, WeChat Search「Modbus Debugging Assistant」ready to use。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Related Tags
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.