打印
[信息]

(分享)STM32之littlevGL系列教程:单按钮控件(lv_btn)

[复制链接]
948|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Hi,大家好,欢迎来到STM32之littlevGL课堂,我们在上节课中学习了"进度条"控件(lv_bar),本节课带大家来学习一下按钮控件,而且是两种按钮控件,废话不多说。
一 有图有真相
先看图!


终于来到了按钮控件的课程,本节课我们将不再着重讲控件是如何创建的以及控件的外观设置等,而要着重讲一下按键的事件属性,什么是事件呢?这个在前面的一节课程中有讲过,但是到本节课程才到了真正的应用的时候,就像上面的动态图一样,任何一个按钮按下后都有效果切换,同样的还会触发一个按钮的回调事件,只有控件有操作相应,我们才真正开始了交互界面的学习,毕竟一个界面只是向你展示,而你没法通过界面去控制一些东西称不上交互,那么我们先来做一下上面那个简单的按钮效果。



使用特权

评论回复
沙发
两只袜子|  楼主 | 2021-7-1 16:29 | 只看该作者
本帖最后由 两只袜子 于 2021-7-1 16:31 编辑

使用特权

评论回复
板凳
两只袜子|  楼主 | 2021-7-1 16:32 | 只看该作者
可以看到代码相比之前的有一点点不同,多了一个btn_event_handler的函数,对了,这就是前面我们讲对象属性的时候的事件属性,正如你对按钮这个对象的常规了解,按钮按下后是会触发一定事件的,我们只需要在事件的回调函数中根据事件的类型处理就可以了,那么我们就需要了解一下都有哪些事件类型,对于按钮对象来说我们需要掌握哪些按钮事件类型:

使用特权

评论回复
地板
两只袜子|  楼主 | 2021-7-1 16:33 | 只看该作者
本帖最后由 两只袜子 于 2021-7-1 16:34 编辑

上面就是框架中所有对象的基本事件类型了,对于按钮来说,绝大多数都适用,像点击,按下,长按,短按等等,下面我们来分析一下代码:
首先我们创建了两个按钮对象,这个我们就不再详细的去讲了,然后我们还创建了一个标签对象用来显示按钮状态,关于标签对象如何使用,后面我们再讲解,这里我们先不做讲解了,其实也是很简单的。
接下来才是最重要的,我们还给两个按钮对象设置了事件回调函数:

使用特权

评论回复
5
两只袜子|  楼主 | 2021-7-1 16:42 | 只看该作者
其中btn_event_handler就是我们处理按钮事件回调的函数,按钮的点击事件都会自动触发我们的回调函数,然后我们在回调函数中通过重新设置标签的文本,当然你也可以去执行别的操作,这里只是做出一个示范。

使用特权

评论回复
6
两只袜子|  楼主 | 2021-7-1 16:43 | 只看该作者
我们可以通过第一个参数判断是哪一个对象,然后通过第二个参数判断对象触发的事件,后面的教程将会有越来越多的事件处理,我们将会在本系列教程中不断的学习与熟练。

OK,这就是本节课我们要学习的内容了,下一节课我们学习矩阵按钮控件,我们下一节课见!

使用特权

评论回复
7
foxsbig| | 2021-7-3 09:58 | 只看该作者

报告:
我这里是这样式的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2055

主题

7458

帖子

10

粉丝