移远EC600U-CN开发板 day04

news2024/11/25 4:03:19

控件探索-滑杆(lv.slider)

1. 显示一个简单的滑杆

def slider_event_cb(evt):    
    slider = evt.get_target()
        # 修改label的值
    label.set_text(str(slider.get_value()))

slider = lv.slider(scr)   #创建滑杆组件
slider.set_width(200)        #设置滑杆宽度
slider.set_range(0,200)        #滑杆的显示范围
slider.align(lv.ALIGN.CENTER,0,0)    #居中
slider.add_event_cb(slider_event_cb, lv.EVENT.VALUE_CHANGED, None)    #回调函数

label = lv.label(scr)
label.set_text("0")     #默认值为0
label.align_to(slider, lv.ALIGN.OUT_TOP_MID, 0, -15)    
#label的中间与滑块的上外边框中间对齐,然后y向上15像素 x不变

2. 效果展示 

        

控件探索-弧(lv.arc)

1. 显示一个简单的弧 

arc = lv.arc(scr)
arc.set_end_angle(0)   #初始角度
arc.set_size(300,300)   #半径大小
arc.align(lv.ALIGN.CENTER,0,0)

2. 效果展示  

控件探索-进度条 (lv.bar) 

1. 显示一个简单的弧 

bar = lv.bar(scr)
bar.set_size(200,20)  #进度条长宽
bar.center()
bar.set_value(100,lv.ANIM.OFF) #初始进度

2. 效果展示   

 

控件探索-按钮矩阵 (lv.btnmatrix)  

1. 显示一个简单的按钮矩阵

def event_handler(evt):
    code = evt.get_code()
    obj  = evt.get_target()

    if code == lv.EVENT.VALUE_CHANGED :
        id = obj.get_selected_btn()
        txt = obj.get_btn_text(id)

        print("%s was pressed"%txt)

btnm_map = ["1", "2", "3", "4", "5", "\n",
            "6", "7", "8", "9", "0", "\n",
            "Action1", "Action2", ""]

btnm1 = lv.btnmatrix(scr)
btnm1.set_map(btnm_map)
btnm1.set_btn_width(10, 2)        # 相对于同一行中的另一个按钮设置按钮的宽度 Action1 宽度为 Action2 的2倍
btnm1.set_btn_ctrl(10, lv.btnmatrix.CTRL.CHECKABLE)  #要设置或清除按钮的控件属性
btnm1.set_btn_ctrl(11, lv.btnmatrix.CTRL.CHECKED)
btnm1.align(lv.ALIGN.CENTER, 0, 0)
btnm1.add_event_cb(event_handler, lv.EVENT.ALL, None)

2. 效果展示    

 

 控件探索-复选框 (lv.checkbox)

1. 显示一个简单的按钮矩阵

def event_handler(e):
    code = e.get_code()
    obj = e.get_target()
    if code == lv.EVENT.VALUE_CHANGED:
        txt = obj.get_text()
        if obj.get_state() & lv.STATE.CHECKED:
            state = "Checked"
        else:
            state = "Unchecked"
        print(txt + ":" + state)


scr.set_flex_flow(lv.FLEX_FLOW.COLUMN)
scr.set_flex_align(lv.FLEX_ALIGN.CENTER, lv.FLEX_ALIGN.START, lv.FLEX_ALIGN.CENTER)

cb = lv.checkbox(scr)
cb.set_text("Apple")
cb.add_event_cb(event_handler, lv.EVENT.ALL, None)


cb = lv.checkbox(scr)
cb.set_text("Banana")
cb.add_state(lv.STATE.CHECKED)
cb.add_event_cb(event_handler, lv.EVENT.ALL, None)


cb = lv.checkbox(scr)
cb.set_text("Lemon")
cb.add_state(lv.STATE.DISABLED)
cb.add_event_cb(event_handler, lv.EVENT.ALL, None)


cb = lv.checkbox(scr)
cb.add_state(lv.STATE.CHECKED | lv.STATE.DISABLED)
cb.set_text("Melon")
cb.add_event_cb(event_handler, lv.EVENT.ALL, None)


cb.update_layout()

2. 效果展示 

 

 

 控件探索-下拉列表 (lv.dropdown)

1. 显示一个简单的下拉列表

def event_handler(e):
    code = e.get_code()
    obj = e.get_target()
    if code == lv.EVENT.VALUE_CHANGED: 
        option = " "*10 # should be large enough to store the option
        obj.get_selected_str(option, len(option))
        # .strip() removes trailing spaces
        print("Option: \"%s\"" % option.strip())

# Create a normal drop down list
dd = lv.dropdown(scr)
dd.set_options("\n".join([
    "Apple",
    "Banana",
    "Orange",
    "Cherry",
    "Grape",
    "Raspberry",
    "Melon",
    "Orange",
    "Lemon",
    "Nuts"]))

dd.align(lv.ALIGN.TOP_MID, 0, 20)
dd.add_event_cb(event_handler, lv.EVENT.ALL, None)

2. 效果展示 

控件探索-滚轮 (lv.roller)

1. 显示一个简单的滚轮

def event_handler(e):
    code = e.get_code()
    obj = e.get_target()
    if code == lv.EVENT.VALUE_CHANGED:
        option = " "*10
        obj.get_selected_str(option, len(option))
        print("Selected month: " + option.strip())

#
# An infinite roller with the name of the months
#

roller1 = lv.roller(scr)
roller1.set_options("\n".join([
    "January",
    "February",
    "March",
    "April",
    "May",
    "June",
    "July",
    "August",
    "September",
    "October",
    "November",
    "December"]),lv.roller.MODE.INFINITE)

roller1.set_visible_row_count(4)
roller1.center()
roller1.add_event_cb(event_handler, lv.EVENT.ALL, None)

2. 效果展示  

 ​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1202751.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV 实现透视变换

一:OpenCV透视变换的概念 仿射变换(affine transform)与透视变换(perspective transform)在图像还原、图像局部变化处理方面有重要意义。通常,在2D平面中,仿射变换的应用较多,而在3D平面中,透视变换又有了自己的一席之…

华视电子驱动安装

1、安装驱动 下载地址:http://ws.it0355.com/a/202101/07/a27013.htm 双击exe文件安装驱动: 检查驱动运行正常: http://www.winwin7.com/soft/xtbd-12727.html vc库安装

https:/myproject.git did not send all necessary objects

事情是由于在git push 的时候,电脑突然蓝屏了,再打开电脑的时候,git pull git push都失效了, 粗暴的解决方式是重新在拉取代码,可以暂时解决,但是考虑到可能以后还会遇到这个问题,所以在不紧急…

取暖器/暖风机上架 亚马逊美国站UL1278测试标准要求

美国是一个对安全要求非常严格的国家,美国本土的所有电子产品生产企业早在很多年前就要求有相关检测。而随着亚马逊在全球商业的战略地位不断提高,境外的电子设备通过亚马逊不断涌入美国市场。“为保证消费者得安全,亚马逊始终强调带电得产品…

Perl爬虫程序的框架

Perl爬虫程序的框架,这个框架可以用来爬取任何网页的内容。 perl #!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; use HTML::TreeBuilder; # 创建LWP::UserAgent对象 my $ua LWP::UserAgent->new; # 设置代理信息 $ua->proxy(http, ); …

【python自动化】Playwright基础教程(九)-悬浮元素定位自定义ID定位组合定位断言

【python自动化】Playwright基础教程(九)-悬浮元素定位&自定义ID定位&组合定位&断言 本文目录 文章目录 【python自动化】Playwright基础教程(九)-悬浮元素定位&自定义ID定位&组合定位&断言playwright系…

Egg.js 中 Service 的使用

Service 服务 Service是用来编写和数据库直接交互的业务逻辑代码。Service就是在复杂业务场景下用于做业务逻辑封装的一个抽象层。 简单来说,就是把业务逻辑代码进一步细化和分类,所以和数据库交互的代码都放到Service中。这样作有三个明显的好处。 保…

学会这10个Fluent仿真优化技巧,效率蹭蹭蹭

ANSYS Fluent 是计算流体动力学 (CFD) 仿真的强大工具,使工程师和科学家能够分析和预测各种应用中的流体行为。然而,运行模拟可能需要大量计算,因此优化设置对于在最短的时间内获得最准确的结果非常重要。 Fluent对电脑配置要求高&#xff1f…

server2008、2016远程桌面授权的激活方法

远程桌面服务安装好之后使用的是120天临时授权,所以会跳出以下提示,我们介绍远程桌面授权的激活。 现在我们使用命令 mstsc /admin 强制登录服务器 需要在“远程桌面服务”--安装“远程桌面授权”--默认安装 “计算机”单击右键“管理”--“角色” 默认…

css实现鼠标悬停时元素的显示与隐藏

css实现鼠标悬停时元素的显示与隐藏 跟着B站黑马学习小兔鲜项目,有个点记录一下 就是当鼠标悬浮在商品列表上时,列表中的商品会显示出来,离开时,商品隐藏,如下: 感觉这个功能经常会遇到,但一直…

浅析网络协议-HTTP协议

1.HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图…

微信动态表情包怎么做?微信动态表情包做法

在使用手机微信聊天时经常会使用各种各样的动态表情包来增加聊天的欢乐气氛。这种动态的表情包要比静态的表情画面更丰富。那么,如何制作表情包呢?很简单,通过使用在线制作动画(https://www.gif.cn/)工具-GIF中文网&am…

Illumination Adaptive Transformer

Abstract. 现实世界中具有挑战性的照明条件(低光、曝光不足和曝光过度)不仅会产生令人不快的视觉外观,还会影响计算机视觉任务。现有的光自适应方法通常单独处理每种情况。更重要的是,它们中的大多数经常在 RAW 图像上运行或过度…

arcgis--NoData数据处理

方法一:利用【栅格计算器】可以对NoData的值进行修改。【Spatial Analyst工具】-【地图代数】-【栅格计算器】,将NoData修改为某一个值。 方法二:先对原始数据进行重分类,分成1类,将NoData赋值为2,。然后,将…

USB拦截工具

USB 闪存驱动器对组织的安全和数据构成了独特的威胁。它们的便携性和充足的存储容量使它们成为数据盗窃的便捷媒介。 什么是 USB 拦截器 USB(通用串行总线)阻止程序用于禁用插入可移动存储设备的端口,便携性和充足的存储容量使 USB 成为可能…

运行pytest时,给出警告 PytestConfigWarning: Unknown config option: result_log

问题:在ini中配置了一些选项后运行pytest,会出现下面的警告信息 解决:在ini中增加配置:addopts -p no:warnings

Oracle(2-2)Oracle Net Architecture

文章目录 一、基础知识1、Oracle Net Connections Oracle网络连接2、C/S Application Connection C/S应用程序连接3、OSI Communication Layers OSI通信层4、Oracle Protocol Support Oracle协议支持5、B/S Application Connections B/S应用程序连接6、TwoTypes JDBC Drivers 两…

【vue+baiduMap】百度地图绘制多边形区域

1、创建百度地图应用&#xff0c;获取权限ak 百度地图服务台 Ps.本项目里按钮等基础控件使用的是element-ui版本控件 2、项目内全局引入 index.html页面插入引用代码&#xff1a; <scriptsrc"//api.map.baidu.com/api?v2.0&ak你的密钥"type"text/ja…

单链表(8)

单链表的特点 可以发现&#xff0c;在单链表的for循环里&#xff0c;初始化就总结为这两种情况 上图中 用第一条&#xff08;要改变链表的结构&#xff0c;增加&#xff0c;减少结点个数等&#xff09;的有&#xff1a;尾插&#xff0c;插入&#xff0c;删除pos位置值&#x…

vue脚手架初始化项目搭建后配置路由【小白易学】

首先这里你已经创建好项目了&#xff0c;这是跑起来的效果 首先第一步&#xff0c;需要下载路由router npm install vue-router4下载好了之后找到main.js页面,加入router import { createApp } from vue; import App from ./App.vue; import router from ./routercreateApp(A…