当前位置: 首页 > news >正文

属性修改器 (AttributeModifier)

主页面设置组件

import { MyButtonModifier } from '../datastore/MyButtonModifier';@Entry
@ComponentV2
struct MainPage {// 支持用状态装饰器修饰,行为和普通的对象一致@Local modifier: MyButtonModifier = new MyButtonModifier();build() {Column() {Button("Button").attributeModifier(this.modifier)}.width('100%')}
}

新建页面构建属性

//默认态(Normal)、按压态(Pressed)、焦点态(Focused)、禁用态(Disabled)、选择态(Selected)
export class MyButtonModifier implements AttributeModifier<ButtonAttribute> {applyNormalAttribute(instance: ButtonAttribute): void {// instance为Button的属性对象,设置正常状态下属性值instance.backgroundColor('#17A98D').borderColor('#707070').borderWidth(2)}applyPressedAttribute(instance: ButtonAttribute): void {// instance为Button的属性对象,设置按压状态下属性值instance.backgroundColor('#2787D9').borderColor('#FFC000').borderWidth(5)}applyFocusedAttribute(instance: ButtonAttribute): void {// instance为Button的属性对象,设置焦点状态下属性值instance.backgroundColor(Color.Brown).borderColor(Color.Orange).borderWidth(9)}applyDisabledAttribute(instance: ButtonAttribute): void {// instance为Button的属性对象,设置禁用状态下属性值instance.backgroundColor(Color.Gray).borderColor(Color.Black).borderWidth(1)}applySelectedAttribute(instance: ButtonAttribute): void {// instance为Button的属性对象,设置选中状态下属性值instance.backgroundColor(Color.Red).borderColor(Color.Blue).borderWidth(3)}
}

相关文章:

属性修改器 (AttributeModifier)

主页面设置组件 import { MyButtonModifier } from ../datastore/MyButtonModifier;Entry ComponentV2 struct MainPage {// 支持用状态装饰器修饰&#xff0c;行为和普通的对象一致Local modifier: MyButtonModifier new MyButtonModifier();build() {Column() {Button(&quo…...

汽车BMS技术分享及其HIL测试方案

一、BMS技术简介 在全球碳中和目标的战略驱动下&#xff0c;新能源汽车产业正以指数级速度重塑交通出行格局。动力电池作为电动汽车的"心脏"&#xff0c;其性能与安全性不仅直接决定了车辆的续航里程、使用寿命等关键指标&#xff0c;更深刻影响着消费者对电动汽车的…...

电网电能质量分析:原理、算法及实际应用

一、引言 在现代社会&#xff0c;电力供应的稳定性和可靠性对工业生产、社会生活的各个方面都至关重要。电能质量作为衡量电力系统供电能力的关键指标&#xff0c;其优劣直接影响到电力设备的运行效率、使用寿命以及生产过程的稳定性。随着电力系统规模的不断扩大&#xff0c;新…...

PyCharm Community社区版链接WSL虚拟环境

#记录工作 在过去&#xff0c;PyCharm Community Edition&#xff08;社区版&#xff09;不具备链接 WSL 虚拟环境的功能&#xff0c;该功能仅在 PyCharm Professional&#xff08;专业版&#xff09;和企业版中提供。如今&#xff0c;从 PyCharm Community Edition 2024.3.5 …...

2026考研数学张宇武忠祥复习视频课,高数基础班+讲义PDF

2026考研数学武忠祥老师课&#xff08;网盘&#xff09;&#xff1a;点击下方链接 2026考研数学武忠祥网课&#xff08;最新网盘&#xff09; 一、基础阶段&#xff08;3-5个月&#xff09; 目标&#xff1a;搭建知识框架掌握基础题型 教材使用&#xff1a; 高数&#xff1a;…...

Spring Boot嵌入前端静态资源:从原理到实战的完整指南

在Java Spring Boot项目中集成前端静态资源是构建现代Web应用的必备技能。本文将深入解析Spring Boot的静态资源处理机制&#xff0c;通过实战案例演示完整的集成流程&#xff0c;并分享性能优化与安全加固的最佳实践。 一、Spring Boot静态资源处理原理 1.1 默认资源路径 S…...

DeepSeek对比ChatGPT有何改进,可以用更低成本计算

下面是基于DeepSeek公开论文和代码&#xff0c;与ChatGPT对比后总结的改进点&#xff0c;以及其为何能用更少算力训练大模型的解析。 https://arxiv.org/pdf/2412.19437 1. 改进点对比 1.1 架构稀疏化与混合专家&#xff08;MoE&#xff09;设计 DeepSeek采用稀疏激活与混合…...

JavaScript双问号操作符(??)详解,解决使用 || 时因类型转换带来的问题

目录 JavaScript双问号操作符&#xff08;??&#xff09;详解&#xff0c;解决使用||时因类型转换带来的问题 一、双问号操作符??的基础用法 1、传统方式的痛点 2、双问号操作符??的精确判断 3、双问号操作符??与逻辑或操作符||的对比 二、复杂场景下的空值处理 …...

Go语言从零构建SQL数据库(5)-Pratt解析算法:SQL表达式解析的核心引擎

Pratt解析算法&#xff1a;SQL表达式解析的核心引擎 1. 算法概述与工作原理 Pratt解析算法&#xff08;自顶向下运算符优先级解析&#xff09;是一种优雅的表达式解析方法&#xff0c;特别适合处理具有不同优先级运算符的复杂表达式。在我们的SQL解析器中&#xff0c;它负责解…...

数字政府与电子政务综合分析报告

数字政府与电子政务综合分析报告 一、引言 随着信息技术的飞速发展&#xff0c;数字政府和电子政务成为全球公共管理领域的重要趋势。数字政府和电子政务的建设不仅是提升政府治理能力的必然选择&#xff0c;也是推动国家治理现代化的重要途径。本文将对数字政府和电子政务进…...

服务器虚拟化技术深度解析:医药流通行业IT架构优化指南

一、服务器虚拟化的定义与原理 &#xff08;一&#xff09;技术定义&#xff1a;从物理到虚拟的资源重构 服务器虚拟化是通过软件层&#xff08;Hypervisor&#xff09;将物理服务器的CPU、内存、存储、网络等硬件资源抽象为逻辑资源池&#xff0c;分割成多个相互隔离的虚拟机…...

QT ARM 开发环境搭建

搭建 QT ARM 开发环境主要包括主机环境配置、交叉编译工具链安装、QT 库交叉编译和 QT Creator 配置几个步骤。以下是详细流程: 一. 主机环境准备 系统要求 推荐 Ubuntu 18.04/20.04 LTS 或更高版本 至少 50GB 可用磁盘空间 8GB 以上内存 安装基础依赖 sudo apt update sud…...

【设计模式】外观模式

简介 想象你要在家里看电影&#xff0c;需要做以下操作&#xff1a; 打开电视启动音响调暗灯光关闭窗帘 如果每次都要手动操作这些步骤会很麻烦。外观模式可以帮你将这些步骤封装成一个统一的接口&#xff0c;比如“一键观影模式”&#xff0c;你只需按一个按钮&#xff0c;…...

[特殊字符] 驱动开发硬核特训 · Day 5 - 深入解析 Platform Driver 驱动框架

主题&#xff1a;深入解析 Platform Driver 驱动框架 —— 从架构设计到工程实战 平台驱动&#xff08;platform driver&#xff09;是 Linux 内核中应用最广泛的一种设备驱动框架。它用于管理那些不依赖总线枚举机制的固定外设&#xff0c;如 GPIO 控制器、I2C 控制器、SPI 控…...

创意 Python 爱心代码

在编程的世界里&#xff0c;Python 以其简洁易用和丰富的库而备受喜爱。用 Python 编写爱心代码&#xff0c;不仅能展现编程的魅力&#xff0c;还能传递温暖与爱意。今天就来分享几种创意 Python 爱心代码。 一、基于turtle库绘制爱心 turtle库是 Python 内置的图形库&#x…...

【群晖】挂载小雅alist到AList网盘中

群晖开启远程 在命令行远程到主机 ssh 用户名主机名终端中执行下方命令创建一个在AList中挂载小雅所需要的token&#xff1a; docker exec -i xiaoya sqlite3 data/data.db <<EOF select value from x_setting_items where key "token"; EOF 如果报权限错误…...

嵌入式C语言11(宏/程序的编译过程)

宏 ⦁ 基本概念 C语言中可以利用宏定义实现文本的快速替换&#xff0c;注意&#xff1a;宏定义是单纯的文本替换&#xff0c;不检查语法是否合法。 C语言标准中提供了很多的预处理指令&#xff0c;比如#include、#pragma…以#开头的都属于预处理指令。 预处理指令指的是在…...

城电科技 | 太阳能花怎么选择?光伏太阳花的应用场景在哪里?

在当下追求绿色能源的时代&#xff0c;珠海城电科技的太阳能花逐渐走进人们的视野。那么&#xff0c;太阳能花究竟是什么呢&#xff1f;太阳能花属于光伏发电应用的一种&#xff0c;巧妙地利用太阳能进行发电。它还有着光伏太阳花、光伏发电花、光伏智慧花等别称。 城电科技-光…...

[C++面试] C++中各类括号的差异:[]、{}、<>、()

括号类型典型场景编译期/运行时安全性考量()函数调用、运算优先级两者注意强制转换风险[]数组访问、Lambda捕获运行时主导防止越界访问{}统一初始化、聚合类型编译期检查阻止隐式窄化转换<>模板实例化、元编程编译期注意模板展开爆炸问题 int x{5}; int x(5);有什么区别…...

Qt 入门 3 之对话框 QDialog(1)

Qt 入门 3 之对话框 QDialog 本文从以下几点分开讲述&#xff1a; - 对话框的基本原理介绍 - 两种不同类型的对话框 - 一个由多个窗口组成并且窗口间可以相互切换的程序 1.模态和非模态对话框 QDialog 类是所有对话框窗口类的基类。对话框窗口是一个经常用来完成短小任务或者…...

Python设计模式:组合模式

1. 什么是组合模式 组合模式&#xff08;Composite Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将对象组合成树形结构以表示“部分-整体”的层次关系。组合模式使得客户端对单个对象和组合对象的使用具有一致性。换句话说&#xff0c;组合模式可以让客户端以相…...

第九天 - psutil系统监控库 - 资源监控仪表盘 - 练习:实时CPU/Memory监控

使用Python打造实时资源监控仪表盘&#xff08;psutilFastAPI&#xff09; 一、为什么要学习系统监控&#xff1f; 在软件开发中&#xff0c;系统资源监控是每个开发者都需要掌握的重要技能。无论是排查性能瓶颈、优化程序效率&#xff0c;还是确保服务稳定性&#xff0c;实时…...

Spring Boot内嵌服务器全解析:Tomcat vs Jetty vs Undertow 选型指南

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 引言 在Spring Boot应用中&#xff0c;内嵌服务器的选择直接影响应用的性能、资源占用和扩展性。尽管Tomcat作为默认选项被广泛使用&#xff0c;Jetty和Unde…...

【嵌入式学习6】多任务版TCP服务器

目录 如何实现&#xff1a; 客户端1.0版本&#xff1a; 服务端&#xff1a; 客户端2.0版本&#xff1a; thread.join() 是一个线程同步方法&#xff0c;用于主线程等待子线程完成。当你调用 thread.join() 时&#xff0c;主线程会阻塞&#xff0c;直到调用 join() 的子线程…...

抖音直播位置与IP属地不同?如何实现

抖音作为头部平台吸引了大量主播和观众。然而&#xff0c;许多用户发现一个令人困惑的现象&#xff1a;直播间显示的位置信息与账号IP属地不一致。本文将深入分析这一现象背后的原因&#xff0c;探讨可能带来的影响&#xff0c;并提供实用的解决方案。 一、抖音直播显示的位置与…...

Scala(六)

本节课学习了数组、列表、Set集合、Map集合、元组、集合中常用的函数等等。 数组包括可变数组、不可变数组&#xff0c;学习了如何定义和创建数组、可变数组和不可变数组之间的转换、多维数组、数组遍历 列表学习了如何添加元素、合并集合、如何访问元素、遍历列表 Set集合学…...

Android 11.0 framework系统首次开机添加锁屏壁纸的功能

1.前言 在11.0的系统rom定制化开发中,在某些时候需要默认设置锁屏壁纸功能,而系统中没有在 framework/base下没有单独的默认锁屏壁纸的图片替换,默认就是锁屏壁纸和主屏幕壁纸 都是同一张壁纸,所以就需要添加接口来实现设置默认锁屏壁纸的功能 2.framework系统首次开机添…...

Scala数组

数组 - 可变数组&#xff1a;以 ArrayBuffer 创建&#xff0c;可灵活增删改元素 &#xff0c;如 ArrayBuffer(1, 2, 3) &#xff0c;并通过 append 等方法操作。 - 不可变数组&#xff1a;由 Array 构建&#xff0c;创建后元素不可变&#xff0c;可借助 toBuffer 等方法转换为…...

Win11 24H2用户个性化设置OOBE跳过微软账户使用本地账户方法

目前Win11已经更新到24H2版本&#xff0c;经过小编测试&#xff0c;已经有两种方法失效了&#xff0c;分别如下。 1.shiftFnF10&#xff0c;oobe \bypassnro 2.微软账户注册界面&#xff0c;输入特定邮件地址和随机密码&#xff0c;例如nothankyou.com、exampleexample.com等…...

遍历集合list工具

文章目录 1.遍历集合list&#xff0c;返回第一个匹配的对象/不匹配返回null&#xff1a;2.集合list排序3.遍历list对象&#xff0c;返回匹配的集合4.从 dbRepeaters 列表中筛选出所有 repeaterId 在 repeaterIds 数组中的 Repeater 对象&#xff0c;并将这些对象收集到一个新的…...

基于 SmartX 原生容灾能力构建简单经济的容灾方案:5 大场景与 4 例实践合集

不少企业都基于虚拟化/超融合架构支持多种核心应用系统与数据库。这些场景不仅涉及多种类型的工作负载&#xff0c;在数据可靠性层面也需要不同级别的保护策略&#xff0c;一些用户还面临灾备演练、集中容灾等更多样的容灾需求&#xff0c;因此&#xff0c;构建全面可靠、易用高…...

说一下分布式组件时钟一致性的解决方案

为什么需要时钟一致性&#xff1f; 在分布式系统中&#xff0c;时钟一致性是确保各节点时间同步的关键问题。 时钟不同步可能导致日志混乱、事务顺序错误、数据不一致等问题 1. 物理时钟同步 基础方案&#xff1a;NTP&#xff08;网络时间协议&#xff09; 原理&#xff1a…...

aws s3api 常用命令

AWS S3API 是 Amazon Web Services&#xff08;AWS&#xff09;提供的用于与简单存储服务&#xff08;S3&#xff09;进行交互的命令行工具&#xff0c;以下是一些常用命令&#xff1a; 桶操作 创建桶 aws s3api create-bucket --bucket <bucket-name> --region <r…...

006 ElementUI

https://element.eleme.cn/#/zh-CN ElementUI是组件库&#xff0c;网站快速成型工具 npm i element-ui2.12.0在 main.js 中写入以下内容&#xff1a; import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css; Vue.use(ElementUI);...

el-select组件与el-tree组件结合实现下拉选择树型结构框

下拉选择树型结构框 实现效果图组件完整代码 实现效果图 组件完整代码 <template><div class"tree-con"><el-selectv-model"value"placeholder"请选择"class"bs-select"ref"select"><el-optionv-for&…...

windows系统更新nvidia 驱动, 并安装pytorch

windows系统更新nvidia 驱动&#xff0c; 并安装pytorch 1.更新前nvidia-smi 显示版本比较久 2.方法一&#xff1a;通过NVIDIA GeForce Experience自动更新 NVIDIA GeForce Experience是NVIDIA官方提供的一款软件&#xff0c;它不仅可以帮助用户优化游戏设置&#xff0c;还能…...

如何深刻理解Reactor和Proactor

前言&#xff1a; 网络框架的设计离不开 I/O 线程模型&#xff0c;线程模型的优劣直接决定了系统的吞吐量、可扩展性、安全性等。目前主流的网络框架&#xff0c;在网络 IO 处理层面几乎都采用了I/O 多路复用方案(又以epoll为主)&#xff0c;这是服务端应对高并发的性能利器。 …...

如何使用WRF-Hydro GIS工具,生成运行WRF-Hydro模型的Domain文件,包括流域、地形、河网、湖泊等

WRF-Hydro模型作为一个集成了大气和水文过程的模型&#xff0c;具有一些挑战性的难点&#xff0c;包括&#xff1a; 复杂的耦合过程&#xff1a;WRF-Hydro模型需要同时考虑大气和水文过程的相互作用&#xff0c;包括降水、蒸发、径流等一系列过程的耦合&#xff0c;这使得模型的…...

adb devices报错 ADB server didn‘t ACK

ubuntu下连接手机首次使用adb devices 报错ADB server didn’t ACK adb devices * daemon not running; starting now at tcp:5037 ADB server didnt ACK Full server startup log: /tmp/adb.1000.log Server had pid: 52986 --- adb starting (pid 52986) --- 04-03 17:23:23…...

机器学习——决策树

1.什么要学习决策树&#xff1f; 处处都是选择,并且到处都是岔路口。比如你发现某只股票几天时间内涨了很多,如果是你,你会买进吗&#xff1f;如果买进了,你就得承担后果,要么会大赚一笔,要么会血本无归。总之&#xff0c;用算法替代主观判断&#xff0c;避免情绪化投资决策。 …...

zk源码—2.通信协议和客户端原理二

大纲 1.ZooKeeper如何进行序列化 2.深入分析Jute的底层实现原理 3.ZooKeeper的网络通信协议详解 4.客户端的核心组件和初始化过程 5.客户端核心组件HostProvider 6.客户端核心组件ClientCnxn 7.客户端工作原理之会话创建过程 6.客户端核心组件ClientCnxn (1)客户端核心…...

Python设计模式:构建模式

1. 什么是构建模式 构建模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;它允许使用多个简单的对象一步步构建一个复杂的对象。构建模式通过将构建过程与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。换句话说&#xff0c;构建模…...

C++类间的 “接力棒“ 传递:继承(下)

文章目录 5. 继承与友元6.继承与静态成员7.菱形继承8.继承和组合希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力&#xff01; 本篇接着补充继承方面的内容&#xff0c;同时本篇的菱形继承尤为重要 5. 继承与友元 class Student; class Person { public:fri…...

C++11QT复习 (十六)

文章目录 Day11 移动语义回顾一、移动语义基础概念二、自定义 String 类的移动语义实现输出运算符重载&#xff1a; 三、测试函数&#xff1a;验证移动与拷贝行为四、左值与右值的补充说明右值引用作为函数返回值 五、知识总结如何区分左值与右值&#xff1f; 六、附加说明&…...

Redis客户端命令到服务器底层对象机制的完整流程?什么是Redis对象机制?为什么要有Redis对象机制?

Redis客户端命令到服务器底层对象机制的完整流程 客户端 → RESP协议封装 → TCP传输 → 服务器事件循环 → 协议解析 → 命令表查找 → 对象机制 → 动态编码 → 数据结构操作 → 响应编码 → 网络回传 Redis客户端命令到服务器底层对象机制的完整流程可分为协议封装、命令解…...

鸿蒙NEXT开发节流、防抖工具类(ArkTs)

import { CacheUtil } from ./CacheUtil; import { DateUtil } from ./DateUtil;/*** 节流、防抖工具类&#xff08;用于点击事件&#xff0c;防止按钮被重复点击&#xff09;** author 鸿蒙布道师* since 2025/04/07*/ export class ClickUtil {private static throttleTimeou…...

Qt程序 Windows打包

目的 运行Qt的程序&#xff0c;遇上如下问题&#xff1a; 显然是少很多Qt库&#xff0c;那就把Qt库放到这里&#xff0c;Qt提供这一个命令windeployqt.exe. windeployqt windeployqt是Qt框架提供的一个工具&#xff0c;主要用于自动打包Windows平台上的Qt应用程序及其依赖项…...

2025-04-07(DS复习):Databricks DLT 详解

Databricks Delta Live Tables (DLT) 详解 Delta Live Tables (DLT) 是 Databricks 提供的一个智能框架&#xff0c;用于构建可靠、可扩展的数据处理管道。它简化了ETL(提取、转换、加载)和ELT(提取、加载、转换)流程的开发和管理&#xff0c;特别适合在数据湖house架构中实现…...

音视频入门基础:RTCP专题(3)——RTCP协议简介(中)

本文接着《音视频入门基础&#xff1a;RTCP专题&#xff08;2&#xff09;——RTCP协议简介&#xff08;上&#xff09;》&#xff0c;继续对RTCP协议进行简介。本文的一级标题从“九”开始。 九、Sender and Receiver Reports 本段内容对应《RFC 3550》的第6.4节。根据《RFC …...

嵌入式工程师多线程编程(二)生产者-消费者模式

生产者-消费者模式详解&#xff1a;多线程编程的核心范式 生产者-消费者模式(Producer-Consumer Pattern)是多线程编程中最经典的设计模式之一&#xff0c;它通过解耦生产者和消费者的工作流程&#xff0c;实现了线程间的高效协作与资源管理。本文将深入剖析这一模式的原理、实…...