System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() LVGL页面显示代码生成方法、装置、设备及介质制造方法及图纸_技高网

LVGL页面显示代码生成方法、装置、设备及介质制造方法及图纸

技术编号:40513786 阅读:8 留言:0更新日期:2024-03-01 13:30
本发明专利技术属于计算机领域,是LVGL页面显示代码生成方法、装置、设备及介质;包括:自开发方接收代码生成请求;响应并根据预先配置的、基于LVGL的页面显示模板和开发方提供的显示功能配置参数生成主页面代码和/或控件代码;在页面显示模板中配置有使用LVGL事件系统设置的主页面事件处理函数和/或控件事件处理函数;根据预先配置的、基于LVGL的子控件模板和开发方提供的子控件配置参数生成子控件代码;在子控件模板中配置有使用LVGL事件系统设置的子控件事件处理函数;执行初始化操作,封装并提供接口函数;开发方调用接口函数生成用于页面显示的应用程序,或接口函数并写入自定义代码,生成用于页面显示的应用程序;本发明专利技术具有更好的实用性。

【技术实现步骤摘要】

本专利技术设计软件设计领域,尤其涉及一种lvgl页面显示代码生成方法、装置、设备以及介质。


技术介绍

1、页面显示通常是指在软件应用程序中展示用户界面的过程。在图形用户界面(gui)开发中,页面指一个包含用户界面元素(如按钮、文本框、标签等)的独立区域。

2、lvgl(little gl)是一个用于嵌入式系统中创建用户界面的开源图形库,它本身提供了一些基本的组件和功能,可以用于构建用户界面。为了帮助开发者更容易入门、理解和使用这个开源图形库。lvgl提供了示例代码,示例代码通过演示lvgl的各种功能和用法,展示如何创建用户界面、处理事件、使用不同的组件等等。通过示例代码,可以实现良好的编码实践,包括代码组织、事件处理等等,有助于开发者在实际项目中更好地组织和设计代码。

3、示例代码(demo)的主要目的是帮助开发者快速入门和理解基本概念,示例代码会将相关的代码放在同一个文件或同一个函数中,使得代码片段更加集中,减少学习者的认知负担。此外,示例代码专注于演示某一方面的功能或用法,以供用户在其项目中直接使用。开发者可以以示例代码为基础来进行进一步的开发,实现具体的功能。但是示例代码不能复用,如果想要实现类似的功能,只能复制修改来实现,也即必须包含其它不相关功能的代码,或者手动去掉不相关功能的代码;这使得冗余的代码越来越多,程序变得越来越臃肿。

4、而且由于采用示例代码作为基础,在实现页面显示时,会使用全局变量存储数据,或者使用静态全局变量,使用全局变量存储数据会导致数据在不同部分之间的高度耦合,使得模板之间的关系紧密。全局变量通常是在整个应用程序的生命周期内保持状态的,如果页面的显示逻辑依赖于这些全局变量的状态,那么在第一次显示页面后,这些全局变量的状态可能已经被修改,导致第二次显示时的数据不一致或无效,而且,lvgl中的图形对象(如按钮、标签等)有自己的状态和属性。如果在全局变量中存储了与lvgl对象关联的状态,并且在两次显示页面之间未正确重置这些状态,可能会导致显示不正常。而且,每个页面都定义了自己的数据变量,导致相同的信息在不同的页面中都有独立的副本,一方面会造成数据冗余,增加内存消耗,另一方面,当信息发生变化时,需要手动更新每个页面对应的变量值,容易导致一致性问题。


技术实现思路

1、鉴于上述问题,本申请的第一个方面设计并提供一种lvgl页面显示代码生成方法。

2、lvgl页面显示代码生成方法,包括以下步骤:

3、自开发方接收代码生成请求;

4、响应于所述代码生成请求,根据预先配置的、基于lvgl的页面显示模板和开发方提供的显示功能配置参数生成主页面代码和/或控件代码;在所述页面显示模板中配置有使用lvgl事件系统设置的主页面事件处理函数和/或控件事件处理函数;

5、根据预先配置的、基于lvgl的子控件模板和开发方提供的子控件配置参数生成子控件代码;在所述子控件模板中配置有使用lvgl事件系统设置的子控件事件处理函数;

6、执行初始化操作,封装并提供接口函数;

7、开发方调用接口函数生成用于页面显示的应用程序;或者开发方调用接口函数并写入自定义代码,生成用于页面显示的应用程序。

8、本申请的第二个方面提供一种lvgl页面显示代码生成装置,包括:接收单元,其配置为接收代码生成请求;

9、第一生成单元,其配置为响应于所述代码生成请求,根据预先配置的、基于lvgl的页面显示模板和开发方提供的显示功能配置参数生成主页面代码和/或控件代码;在所述页面显示模板中配置有使用lvgl事件系统设置的主页面事件处理函数和/或控件事件处理函数;

10、第二生成单元,其配置为根据预先配置的、基于lvgl的子控件模板和开发方提供的子控件配置参数生成子控件代码;在所述子控件模板中配置有使用lvgl事件系统设置的子控件事件处理函数;

11、封装单元,其配置为执行初始化操作,封装并提供接口函数;和

12、调用单元,其配置为调用接口函数生成用于页面显示的应用程序;或者开发方调用接口函数并写入自定义代码,生成用于页面显示的应用程序。

13、本申请的第三个方面提供一种设备,包括处理器、通信接口、存储器、输入装置和输出装置;所述处理器、通信接口、存储器、输入装置和输出装置相互连接,其中,所述存储器用于存储计算机程序,所述处理器被配置用于调用所述计算机程序执行lvgl页面显示代码生成方法,lvgl页面显示代码生成方法,包括以下步骤:

14、自开发方接收代码生成请求;

15、响应于所述代码生成请求,根据预先配置的、基于lvgl的页面显示模板和开发方提供的显示功能配置参数生成主页面代码和/或控件代码;在所述页面显示模板中配置有使用lvgl事件系统设置的主页面事件处理函数和/或控件事件处理函数;

16、根据预先配置的、基于lvgl的子控件模板和开发方提供的子控件配置参数生成子控件代码;在所述子控件模板中配置有使用lvgl事件系统设置的子控件事件处理函数;

17、执行初始化操作,封装并提供接口函数;

18、开发方调用接口函数生成用于页面显示的应用程序;或者开发方调用接口函数并写入自定义代码,生成用于页面显示的应用程序。

19、本申请的第四个方面提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现lvgl页面显示代码生成方法,lvgl页面显示代码生成方法,包括以下步骤:

20、自开发方接收代码生成请求;

21、响应于所述代码生成请求,根据预先配置的、基于lvgl的页面显示模板和开发方提供的显示功能配置参数生成主页面代码和/或控件代码;在所述页面显示模板中配置有使用lvgl事件系统设置的主页面事件处理函数和/或控件事件处理函数;

22、根据预先配置的、基于lvgl的子控件模板和开发方提供的子控件配置参数生成子控件代码;在所述子控件模板中配置有使用lvgl事件系统设置的子控件事件处理函数;

23、执行初始化操作,封装并提供接口函数;

24、开发方调用接口函数生成用于页面显示的应用程序;或者开发方调用接口函数并写入自定义代码,生成用于页面显示的应用程序。

25、本专利技术所提供的代码生成方法,开发方无需手动编写大量重复性的lvgl代码,减少了开发时间和劳动成本;使用预先配置的模板和参数,确保生成的代码结构一致,提高代码的规范性和可维护性,预先配置的模板中的事件处理函数等已完成定义,开发方只需要提供配置参数,无需关心底层lvgl的实现细节,维持较好的代码结构性,实现快速开发,降低用户开发功能和项目维护的成本。

26、结合附图阅读本专利技术的具体实施方式后,本专利技术的其他特点和优点将变得更加清楚。

本文档来自技高网...

【技术保护点】

1.LVGL页面显示代码生成方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的LVGL页面显示代码生成方法,其特征在于,所述应用程序可包括一个或多个主页面;所述代码生成请求以主页面为单位生成。

3.根据权利要求1所述的LVGL页面显示代码生成方法,其特征在于,所述主页面可包括多个子控件;以子控件为单位,针对每一个子控件,根据预先配置的、基于LVGL的子控件模板和/或开发方提供的子控件配置参数生成子控件代码。

4.根据权利要求1所述的LVGL页面显示代码生成方法,其特征在于,所述主页面事件处理函数包括关闭事件处理函数,所述关闭事件处理函数用于预先配置以释放分配给每一个主页面或控件的数据存储代码;所述页面功能模板中还可包括自定义释放代码。

5.根据权利要求1至4任一项所述的LVGL页面显示代码生成方法,其特征在于,响应于所述代码生成请求,还可根据预先配置的数据管理模板和自定义数据管理代码生成数据管理代码;或者,根据预先配置的自定义事件模板和自定义事件代码生成事件配置代码;或者,根据预先配置的字体配置模板和自定义字体代码生成字体配置代码;或者,根据预先配置的路径管理模板和自定义路径配置代码生成路径管理代码;或者,根据预先配置的皮肤管理模板和自定义皮肤配置代码生成皮肤管理代码;或者,根据预先配置的多语言管理模板和自定义语言配置代码生成多语言管理代码。

6.LVGL页面显示代码生成装置,其特征在于,包括:

7.根据权利要求6所述的LVGL页面显示代码生成装置,其特征在于,所述应用程序可包括一个或多个主页面;所述代码生成请求以主页面为单位生成。

8.根据权利要求6所述的LVGL页面显示代码生成装置,其特征在于,所述主页面可包括多个子控件;以子控件为单位,针对每一个子控件,根据预先配置的、基于LVGL的子控件模板和/或开发方提供的子控件配置参数生成子控件代码。

9.设备,其特征在于,包括处理器、通信接口、存储器、输入装置和输出装置;所述处理器、通信接口、存储器、输入装置和输出装置相互连接,其中,所述存储器用于存储计算机程序,所述处理器被配置用于调用所述计算机程序执行如权利要求1至5任一项所述的方法。

10.计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的方法。

...

【技术特征摘要】

1.lvgl页面显示代码生成方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的lvgl页面显示代码生成方法,其特征在于,所述应用程序可包括一个或多个主页面;所述代码生成请求以主页面为单位生成。

3.根据权利要求1所述的lvgl页面显示代码生成方法,其特征在于,所述主页面可包括多个子控件;以子控件为单位,针对每一个子控件,根据预先配置的、基于lvgl的子控件模板和/或开发方提供的子控件配置参数生成子控件代码。

4.根据权利要求1所述的lvgl页面显示代码生成方法,其特征在于,所述主页面事件处理函数包括关闭事件处理函数,所述关闭事件处理函数用于预先配置以释放分配给每一个主页面或控件的数据存储代码;所述页面功能模板中还可包括自定义释放代码。

5.根据权利要求1至4任一项所述的lvgl页面显示代码生成方法,其特征在于,响应于所述代码生成请求,还可根据预先配置的数据管理模板和自定义数据管理代码生成数据管理代码;或者,根据预先配置的自定义事件模板和自定义事件代码生成事件配置代码;或者,根据预先配置的字体配置模板和自定义字体代码生成字体配置代码;或者,根据预先配置的路径管理...

【专利技术属性】
技术研发人员:崔京军刘明聪付杰
申请(专利权)人:卡奥斯创智物联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1