USART HMI 资料中心

官方技术交流QQ群:916560014

站点工具


目录索引

5.控件详解:20.二维码控件

二维码控件使用说明



名称操作版本日期
说明编辑
《二维码控件使用说明》创建中V1.02019-01-17第一次编辑完成,正式发布。lyh
《二维码控件使用说明》修订V1.12020-08-05补充本空间中所有属性详解qjj



【目录】

一、二维码控件-概述

二、二维码控件-简单使用

三、二维码控件-属性详解

3.1、控件属性描述

3.2、控件属性编辑

      3.2.1、编辑属性   

      3.2.2、读属性

      3.2.3、写属性

3.3 、属性详解

      3.3.1、x,y属性

      3.3.2、w,h属性

      3.3.3、txt属性

      3.3.4、txt_maxl属性

      3.3.5、pco属性

      3.3.6、bco属性

      3.3.7、pic属性

      3.3.8、sta属性

      3.3.9、time属性

      3.3.10、first属性

      3.3.11、effect属性

      3.3.12、aph属性

      3.3.13、drag属性

      3.3.14、vscope属性

      3.3.15、objname属性

      3.3.16、id属性

      3.3.17、type属性

      3.3.18、disup属性

四、二维码控件-使用详解

4.1、在页面上新建二维码控件

4.2、二维码控件外观调整

4.3、二维码控件默认显示内容设置

4.4、运行中改变二维码控件显示内容

4.5、二维码控件加载特效设置

4.6、二维码控件移动特效使用

4.7、二维码控件实战使用


一、二维码控件-概述

1.1、二维码控件是串口屏诸多功能控件里面的其中一个。

1.2、用于在串口屏上显示二维码。

1.3、在《USART HMI》软件左侧工具箱里面(如下图所示)。

图片3.png


二、二维码控件-简单使用

用二维码控件,做自己的第一个显示工程(如下图所示)。

图片5.png

▲一个纯色页面使用<二维码控件>显示信息


三、二维码控件-属性详解

串口屏所有控件操作的实质都是对属性的修改。二维码控件具有的属性如下表所示。

图片2.png

3.1、控件属性描述

      如下图所示,当鼠标选中对应属性时,会在属性窗口的最下方出现该属性的详细描述信息。

图片2.png

3.2、控件属性编辑

      3.2.1、编辑属性

      用户可以随时调整、编辑列表中的属性参数。

      注意:type和id属性由开发环境指定,用户不可修改。id可通过软件左上角置顶置底间接修改

      3.2.2、读属性

      如上图所示的控件属性列表,可以在设备运行中随时读取。

      sys0=qr0.id        将二维码控件qr0的id号赋值给sys0变量
      qr0.x+=10             将控件在屏幕上的位置向右移动10个像素点。
      prints qr0.txt,0       将qr0的文本内容从串口发送出去。

      注意:objname属性不可以读取。比如在事件代码中写"qr0.txt=qr0.objname"编译将报错

      3.2.3、写属性

      所有绿色控件可以在运行中实时修改。

      注意:因产品系列不同,属性的写权限也不完全相同。比如X系列可以在运行该过程中修改x,y属性。但是T0,K0系列不能在运行过程中修改x,y属性

3.3 、属性详解

      3.3.1、x,y属性

      x,y属性描述控件在屏幕上的像素坐标位置。以屏幕左上角为像素坐标原点(x=0,y=0)。

      T0,K0系列产品,x,y属性只能从:0–最大分辨率。不能超出屏幕显示区域。

      X系列产品,x,y属性可以超出屏幕坐标范围(-6000~+6000),但是超出屏幕将被裁减,不会显示出来。

      技巧:如果想做一个控件,但是不想让用户看到,触摸到。可以把该控件放在屏幕显示区域以外。开发人员使用的时候,使用click指令,

或者绑定用户IO

      3.3.2、w,h属性

       w,h属性描述控件在屏幕上宽度和高度(像素大小为单位)。

      T0,K0系列产品,w,h属性只能从:0–最大分辨率。不能超出屏幕显示区域。

      X系列产品,x+w,y+h的值可以超出屏幕坐标范围,但是超出屏幕将被裁减,不会显示出来。

     3.3.3、txt属性

           txt属性。即字符串属性。用于存放二维码控件的显示内容。二维码会根据txt属性自动生成图像。

      3.3.4、txt_maxl属性

            txt_maxl属性表示该字符型控件,最多可以存储多少个字符。

            注意1:在界面编辑时,如果输入txt属性中的字符数量超过了txt_maxl将提示错误

            注意2:如果在运行中,给txt写入超过txt_maxl的字符数量,超出的部分将丢失

            例如:txt_maxl=10。在事件窗口中写:qr0.txt="0123456789ABCD”。运行后的实际效果txt的值为“0123456789”,“ABCD”将被丢失。

      3.3.5、pco属性

            pco属性。控件前景色属性,RGB565的颜色值。显示的二维码颜色。

      3.3.6、bco属性

            bco属性。控件背景色属性,RGB565的颜色值。

      3.3.7、pic属性

            pic属性。图片属性,选择控件图片的ID号。仅当sta=1的时候,存在该属性。

      3.3.8、sta属性

            sta属性。中心LOGO:0-无;1-有。

      3.3.9、time属性

            time属性。控件特效执行时间属性。仅X系列支持,且effect设置不为0以后才存在该属性。

            当设置了控件的加载特效以后,控件在time的时间内,以设置的特效方式飞到控件所在屏幕的坐标位置。

      3.3.10、first属性

            first属性。控件加载特效的优先级属性。仅X系列支持,且effect设置不为0以后才存在该属性。

            first可设置的值为0-100。支持多个有特效的控件为同一级别优先级。同一优先级的控件,将在同时被加载到屏幕上显示。

            不同优先级的优先级中,将根据设置值从大到小依次完成加载。

      3.3.11、effect属性

            effect属性。控件加载特效属性。目前一共支持9种效果。仅X系列支持该属性

            0-立即加载;1-上边飞入;2-下边飞入;3-左边飞入;4-右边飞入;5-左上角飞入;6-右上角飞入;7-左下角飞入;8-右下角飞入

      3.3.12、aph属性

            aph属性。控件半透明属性。仅X系列支持

            aph可设置的值范围为0-127 。为0时控件将全透明(效果为不显示),为127时全显示(没有半透明效果);

      3.3.13、drag属性

            drag属性。控件运行过程中是否支持拖动属性。仅X系列支持

      3.3.14、vscope属性

            vscope属性。控件内存占用属性。控件支持私有和全局属性。

            当设置为全局时,控件分配的内存在所有页面都可以访问。离开当前页面后,控件属性数据也不会丢失。缺点是,占用系统总内存。

      3.3.15、objname属性

            objname属性。控件名称属性。该属性在运行中不能获取。

      3.3.16、id属性

            id属性。控件id是每个控件在当前页面的唯一标识号。由系统分配,不可修改。可通过软件左上角置顶置底间接修改。

      3.3.17、type属性

            type属性。控件类型属性。由系统分别固定数据,比如二维码控件属性为58。

       3.3.18、disup属性

               disup属性。产生拖动后是否禁用弹起事件:0-否;1-是。默认为否,即拖动的时候是会触发弹起事件。仅当drag=是时,才存在该属性。

四、二维码控件-使用详解

4.1在页面上新建二维码控件

参考文本控件

image.png

image.png

1、打开一个新的空白界面▲

2、点击左侧<工具箱>里面的<文本>按钮,当前页面出现一个文本框▲


4.2、二维码控件外观调整

参考文本控件

上一步我们创建了一个文本控件,现在我们编辑文本控件的外观(显示效果)。

4.2.1调整位置和尺寸

将文本控件移显示区中心位置,并调大到能放下。

I.新添加上“文本控件”预览II.摆放到指定位置并调整到需要尺寸预览III.操作说明
image.pngimage.png

▷移动位置:鼠标选中控件,拖到需要摆放的位置。

▷调整大小:鼠标指针选中控件的任意一条边,或任意一个角,拖动即可调整大小。

其他方法:如果不想使用鼠标,也可以通过修改属性列表中的“x、y坐标”来调整位置,修改属性列表中的“宽度和高度”来调整大小。


4.3、二维码控件默认显示内容设置

上一部分我们讲完了控件外观的编辑和控件大小的调整,现在我们讲二维码控件默认显示内容的设置。

4.3.1基本的使用

在页面的中间显示【hello word!拥抱世界!】的二维码。

I.显示预览II.属性设置III.操作说明
图片2.png

图片4.png

▲①背景选择“黄色”填充

图片5.png

▲②前景颜色选择“黑色”

image.png

▲③设置字符长度

image.png

▲④输入要显示的字符

▷点几下鼠标就完成了给"二维码控件"设置显示初始状态。


▷注意:

字符长度属性,这里设置的是二维码控件"txt属性"能显示的字符的最大长度。

意思就是,输入字符的长度只能 ≤ 这个值,或者说需要显示多少个字符,这个长度值必须≥你要显示的字符长度。

一个英文字母是1个字符,包括英文标点符号;一个中文汉字是2个字符,包括中文标点符号。


4.4、运行中改变二维码控件显示内容

4.4.1通过“按下或弹起事件”改变当前页面中文本控件“显示内容” 

例(1):按下当前页面中的按钮,让当前页面中的二维码控件qr0显示“你好”的二维码。

按钮“弹起事件 或 按下事件”里面代码如下:

t0.txt="你好"

代码解释:

 qr0  :当前页面中,控件名称为qr0 的二维码控件

 .txt :二维码控件 qr0 属性列表中的其中一个属性,用于显示二维码图像的内容。

 = :C语言赋值符号

 "你好" :你好 为二维码图像的内容

显示效果:

图片5.png


4.4.2通过“按下或弹起事件”改变其他页面中二维码控件“显示内容” 

例(2):按下当前页面中的按钮,让其他页面(页面名称叫 set)中的二维码控件显示“OK”的二维码。

按钮“弹起事件/或按下事件”里面代码如下:

set.qr0.txt="OK"

代码解释:

 set :页面名称

 .qr0 :set页面中名字为 qr0 的二维码控件

 .txt :二维码控件 qr0 属性列表中的其中一个属性,用于显示二维码图像的内容

 = :C语言赋值符号

 "OK" :OK 为二维码图像的内容


 4.4.3通过单片机串口改变当前页面中二维码控件“显示内容” 

示例(1):串口发送数据让当前页面中的二维码控件qr0显示 “你好”的二维码。

串口发送数据代码:

Serial.print("qr0.txt=\"你好\"");
Serial.write(hexEND,3);

代码解释:

 Serial.print();  单片机串口发送字符串函数

 "qr0.txt=\"你好\""  需要发给屏的C语言字符串命令

 Serial.write();  单片机串口发送16进制函数

 hexEND,3  提前定义好的元素为3个16进制 0xff 的数组


 4.4.4通过单片机串口改变其他页面中文本控件“显示内容” 

示例(2):串口发送数据让其他页面(页面名称叫 set)中的二维码控件显示OK

串口发送数据代码:

Serial.print("set.qr0.txt=\"你好\"");
Serial.write(hexEND,3);

代码解释:

 Serial.print();  单片机串口发送字符串函数

 "set.qr0.txt=\"你好\""  需要发给屏的C语言字符串命令,其中 set 是页面名称。

 Serial.write();  单片机串口发送16进制函数

 hexEND,3  提前定义好的元素为3个16进制 0xff 的数组



4.4.5通过串口助手改变当前页面中二维码控件“显示内容” 

示例(1):串口发送数据让当前页面中的二维码控件qr0显示  “你好”的二维码

串口助手发送数据代码:

qr0.txt="你好"
ff ff ff


串口助手截图操作说明
图片2.png

① 选择串口号(选择你电脑连接屏使用的串口号)

② 设置波特率

图片6.png图片3.png

③ 输入字符串指令

④ 输入16进制结束符


4.4.6通过串口助手改变其他页面中控件“显示内容” 

示例(2):串口发送数据让其他页面(页面名称叫 set)中的qr0控件显示 “你好”的二维码

串口发送数据代码:

set.qr0.txt="你好"
ff ff ff


串口助手截图操作说明
图片2.png

① 选择串口号(选择你电脑连接屏使用的串口号)

② 设置波特率

图片4.png图片3.png

③ 输入字符串指令

④ 输入16进制结束符


4.5、二维码控件加载特效设置

参考文本控件

注:此功能目前只有【X3系列 和 X5系列】产品支持

加载特效示意图属性设置操作说明

image.png

控件设置加载特效后,当控件所在页面刷新时,控件会按照设置的加载方式呈现出来。


注:由于本页面不支持视频,无法展示动态效果。只能用图文简要说明。不便之处敬请谅解。


image.png

▷属性设置方法:

控件加载特效默认是“立即加载”即无特效。

鼠标单击选中控件 → 在属性列表中找到“加载特效”选项(如左图①所示)并点击箭头处,会弹出下来列表(如图②所示),选择一个你想要的的加载方式,即完成控件加载特效设置。


▷其他:

你可能已经注意到了,“加载特效”这个属性是绿色,也就是说屏在运行时加载特效是允许改变的。加载特效的改变方法和改变文本控件背景色的操作一致,唯一不同的是“属性名称不一样”参数不一样。


4.6、二维码控件移动特效使用

参考文本控件

文本控件移动示例:

注:此功能目前只有【X3系列 和 X5系列】产品支持

加载特效示意图移动指令操作说明

酷 

无 法 展示

(请自行测试)

① 可视化移动指令格式:


move obj,starx,stary,endx,endy,first,time

obj:控件名称或控件ID

starx:起始坐标X

stary:起始坐标Y

endx:结束坐标X

endy:结束坐标Y

first:优先级(0-100,数字越大优先级越大)

time:移动时间(单位ms)

, :分隔符


② 无过程移动指令格式:


obj.x=x

obj:控件名称

.x:控件X坐标属性

=:赋值符号

x:终点x坐标


obj.y=y

obj:控件名称

.y:控件X坐标属性

=:赋值符号

y:终点y坐标



▷ 可视化移动操作说明

① 将 t0 控件从当前位置可视化移动到t1位置(假设页面上有一个控件叫做 t1),指令如下:

move t0,t0.x,t0.y,t1.x,t1.y,0,300

代码注释:控件t0可视化移动方式,移动到t1的位置,无优先级,移动时间300ms


② 将 t0 控件从当前位置可视化移动到指定位置(位置:x坐标 200,y坐标 100),指令如下:

move t0,t0.x,t0.y,200,100,0,300

代码注释:控件t0可视化移动方式,移动到x坐标为200,y坐标为100的位置,无优先级,移动时间300ms


③ 将t0移动到显示区外面去(假如水平移到最右侧外面,以4.3寸屏为例)指令如下:

move t0,t0.x,t0.y,481,t0.y,0,300

代码注释:控件t0可视化移动方式,x坐标位481,y坐标保持现有坐标不变,移动事件300ms。(备注:4.3寸屏的分辨率480X272,当X坐标设置为481时,就会看到控件从当前位置向右移动到屏幕外面去,这个过程耗时300ms)


!!!注意: 可视化移动模式,最小移动时间限制到150ms,因为时间太短就看不出来移动效果了。


▷ 无过程移动操作说明

① 将 t0 控件从当前位置无过程移动到t1位置(假设页面上有一个控件叫做 t1),指令如下:


t0.x=t1.x
t0.y=t1.y

代码注释:把t1的x坐标和y坐标赋值给,t0的x坐标和y坐标。


② 将 t0 控件从当前位置无过程移动指定位置(位置:x坐标 200,y坐标 100),指令如下:

t0.x=200
t0.y=100

代码注释:给t0的x坐标和y坐标直接赋值。


③ 将t0无过程移动到显示区外面去(水平右侧外面,以4.3寸屏为例)指令如下:

t0.x=801

代码注释:给t0的x坐标直接赋值,由于y坐标不变,y坐标不用赋值。


特别说明:

控件移动只是移动位置,控件的所有功能不会因为移动而改变,非常方便有运行中移动空加需求的场景使用(例如:密码键盘、操作菜单等等)

控件移出显示区,根据自己需要使用。

另外,如果您只是想不让控件显示出来,可以用隐藏指令,不需要用移动指令。点击查阅【隐藏指令】的使用



4.7、二维码控件实战使用

①动态显示二维码

如果二维码的内容是网站或者能够自动删除后面空格的链接。那么可以通过定时器动态为二维码txt属性添加空格,通过一个中转变量记录空格的数量,空格数量到达一定就进行清空(根据txt_maxl属性)以防内存溢出。

如果二维码不能使用上面这种方式,就提前准备多张二维码图片,通过定时器刷新。


②运行中修改显示的二维码

单片机修改

屏按下弹起事件修改

END



5.控件详解/20.二维码控件.txt · 最后更改: 2020/08/22 11:09 由 tjcqiu        浏览次数:775/3111594(本页/全站)