LVGL库入门教程02-基本控件与交互】的更多相关文章

LVGL 本质上是一个 GUI 库,它包含大量的控件(widget),即按钮.标签.滑块.菜单栏这种具有一定人机交互特征的组合图形.LVGL 在设计时,采用了一定面向对象编程的设计思路,有效降低了代码编写的难度. LVGL 和大多数 GUI 库的工作方式都是类似的,其代码编写的基础思路为: 创建 GUI 根窗体对象 在窗体上绘制各种控件 为控件编写响应函数函数 在主事件循环中等待用户触发事件响应 如果之前有 GUI 库的使用经验的话,应该可以比较容易明白 LVGL 代码的编写思路. 标签 标签(…
LVGL库移植STM32 LVGL库简介 LVGL(Light and Versatile Graphics Library)是一个免费.开源的嵌入式图形库,可以创建丰富.美观的界面,具有许多可以自定义样式的控件,支持按键或触摸响应,支持中文字符,并且内存占用较低.可以在 https://lvgl.io/demos 使用网页端体验 LVGL 的动态效果,再决定是否需要使用 LVGL . LVGL 使用 C 语言编写,可以用在树莓派.ESP32 .STM32 等单片机上,并支持各种中大型屏幕(只需…
LVGL布局方式 LVGL的布局 上一节介绍了如何在 LVGL 中创建控件.如果在创建控件时不给控件安排布局,那么控件默认会被放在父容器的左上角. 可以使用 lv_obj_set_pos(obj, x, y) 调整一个控件的位置(或者使用类似的函数单独调整一个方向的坐标),将它放在相对父容器左上角的合适位置.不过这种布局方式非常死板,因为绝对坐标一旦设定就不能自动调整:而且当控件数量较多时,也很难确定合适的坐标值. 上一节介绍过,可以使用 lv_obj_align(obj, align, x_o…
LVGL样式 LVGL样式概述 创建样式 在 LVGL 中,样式都是以对象的方式存在,一个对象可以描述一种样式.每个控件都可以独立添加样式,创建的样式之间互不影响. 可以使用 lv_style_t 类型创建一个样式并初始化: static lv_style_t style; lv_style_init(&style); 样式是延迟渲染的,因此需要使用 static 存储类别说明符或将其声明为全局变量. 样式是多方面的,不仅包括颜色和形状,还包括边距.边框,甚至动画变换效果等细节. LVGL 中的…
颜色 构造颜色 在 LVGL 中,颜色以结构 lv_color_t 表示.在最开始移植整个工程时,曾经在 lv_conf.h 中修改过颜色深度: /*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/ #define LV_COLOR_DEPTH 32 LVGL 会自动根据所选的颜色深度创建合适的颜色结构.在接下来几处位置还有几个与颜色有关的配置选项,可以参照注释修改. 例如,16 位 big-e…
动画可以说是 LVGL 中的特色之一,不过在使用动画前,请确保单片机具有足够的性能来维持足够的帧率. transition:过渡动画 当一个控件的状态发生改变时,可以让样式也发生变化以提醒用户.通过过渡动画(transition)可以让样式的改变更自然.例如,按钮在点击时,以及开关在切换时,都具有一小段的过渡动画. 过渡动画使用 lv_style_transition_dsc_t 结构描述.为了要设置过渡动画,需要提供以下信息: 哪些属性需要过渡 过渡前的延时 过渡持续的时间 过渡动画(以回调函…
本文主要介绍PyQt5界面最基本使用的单选按钮.复选框.下拉框三种控件的使用方法进行介绍. 1.RadioButton单选按钮/CheckBox复选框.需要知道如何判断单选按钮是否被选中. 2.ComboBox下拉框.需要知道如何对下拉框中的取值进行设置以及代码实现中如何获取用户选中的值. 带着这些问题下面开始介绍这RadioButton单选按钮.CheckBox复选框.ComboBox下拉框三种基本控件的使用方法 QRadioButton单选按钮 单选按钮为用户提供多选一的选择,是一种开关按钮…
本文主要介绍PyQt界面实现中常用的消息弹出对话框.提供用户输入的输入框.打开文件获取文件/目录路径的文件对话框.学习这三种控件前,先想一下它们使用的主要场景: 1.消息弹出对话框.程序遇到问题需要退出需要弹出错误提示框 .程序执行可能造成的风险需要弹出警告窗口提示用户是否进一步执行等等. 2.用户输入框.比如常见的让用户选择执行的程序分支.yes/no等等. 3.文件对话框.获取本地文件或者文件夹的完整路径甚至是直接打开文件显示文件内容. 本文主要针对这三种控件的主要场景进行介绍. QMess…
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策略(MVC5+EF6) [第四篇]ASP.NET MVC快速入门之完整示例(MVC5+EF6) [番外篇]ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6) 请关注三石的博客:http://cnblogs.com/sanshi FineUIMvc简介 FineUIMvc 是基…
上一篇对Blend 3开发界面进行了快速入门介绍,本篇将基于Blend 3介绍Silverlight控件.对于微软开发工具熟悉的朋友,相信您很快就熟悉Blend的开发界面和控件. XAML概述 Silverlight的控件绘制是由XAML语言进行支持的.什么是XAML语言? 简单的说,XAML(Extensible Application Markup Language )是一款基于XML的描述性语言,中文也叫做可扩展应用程序标记语言. 该语言是由微软开发创建,主要用于构建WPF和Silverl…