【办公类-89-02】20250424会议记录模版WORD自动添加空格补全下划线
背景需求
4月23日听了一个MJB的征文培训,需要写会议记录
把资料黏贴到模版后,发现每行需要有画满下划线
原来做这套资料,就是手动按空格到一行末,有空格才会出现下划线,也就是要按很多的空格(凑满一行)
或者一行行的复制复制,因为文字有长短,所以后面的空格也有长有短
需求:
Python批量自动给最后添加适合的空格数,自动实现没有文字,但有空格,有下划线
第1问
代码展示
from docx import Documentdef add_solid_underline_with_spaces(doc_path, output_path, target_length=29):"""为Word文档每段添加实线下划线,并用全角空格填充至指定长度(仅对每段最后一行末尾添加空格和下划线)参数:doc_path (str): 输入文档路径output_path (str): 输出文档路径target_length (int): 目标字符宽度(中文算2,英文算1)"""# 加载文档doc = Document(doc_path)for paragraph in doc.paragraphs:if paragraph.text.strip(): # 只处理非空段落# 获取段落的最后一行lines = paragraph.text.split('\n')last_line = lines[-1] if lines else ""# 计算最后一行的字符宽度current_width = sum(2 if ord(c) > 127 else 1 for c in last_line)# 计算需要填充的全角空格数fill_count = max(0, target_length - current_width)# 计算需要填充的全角空格数fill_count = max(0, target_length - current_width)# print(f"段落内容: '{text}'")print(f"当前宽度: {current_width}, 需要填充空格数: {fill_count}\n")# 为原有内容添加实线下划线for run in paragraph.runs:run.font.underline = True # 设置为单实线# 仅在最后添加全角空格并带下划线if fill_count > 0:# 清除原有换行符(如果有)if paragraph.runs and paragraph.runs[-1].text.endswith('\n'):paragraph.runs[-1].text = paragraph.runs[-1].text.rstrip('\n')fill_run = paragraph.add_run("\u3000" * fill_count) # 使用全角空格fill_run.font.underline = True# 恢复原有换行符(如果有)if len(lines) > 1:paragraph.add_run().add_break()# 保存文档doc.save(output_path)# 使用示例
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\工具运用'
input_path = path + r'\附件1工具运用训会议记录(2025.4.23).docx'
output_path = path + r'\附件1工具运用训会议记录(2025.4.23)_实线下划线.docx'
add_solid_underline_with_spaces(input_path, output_path, target_length=29)
出现很多的方块
把全角改成空格
结果方块没有了,但是下划线不够长,
分析:预设29个空格位置,已有字符超过29个,就不添加空格了
所以把预设空格数改到最大1000
运行后,都有空格了
结果显示
但是里面有大量的空格,会不会占空间?
结果显示:
如果设置1000字以上,空格太多,大小1.13
如果设置500字以上,大小变为22.3K
问题:
可是我并不知道每一段的总字数是多少,现在给所有段落默认添加1000字符,如果一段文字大于1000字,还是会没有空格和下划线。同时其他段落标题只有4-10个字,根本不需要填充1000字空格。
第2问:计算原有字符数+额外加多少空格下划线
手动测算一行有几个空
默认加78空,保证下划线肯定能撑满
代码展示
from docx import Documentz=78def add_dynamic_underline(doc_path, output_path, extra_length=z):"""为Word文档每段添加实线下划线,动态计算每段长度并额外增加指定字符数用全角空格填充至(实际长度+extra_length)的宽度参数:doc_path (str): 输入文档路径output_path (str): 输出文档路径extra_length (int): 每段额外增加的字符宽度"""# 加载文档doc = Document(doc_path)for paragraph in doc.paragraphs:if paragraph.text.strip(): # 只处理非空段落# 获取段落的最后一行lines = paragraph.text.split('\n')last_line = lines[-1] if lines else ""# 计算最后一行的字符宽度(中文算2,英文算1)current_width = sum(2 if ord(c) > 127 else 1 for c in last_line)# 动态设置目标长度 = 当前宽度 + 额外长度target_length = current_width + extra_length# 计算需要填充的全角空格数fill_count = max(0, target_length - current_width)print(f"段落内容: '{last_line}'")print(f"当前宽度: {current_width}, 目标宽度: {target_length}, 需要填充空格数: {fill_count}\n")# 为原有内容添加实线下划线for run in paragraph.runs:run.font.underline = True # 设置为单实线# 仅在最后添加全角空格并带下划线if fill_count > 0:# 清除原有换行符(如果有)if paragraph.runs and paragraph.runs[-1].text.endswith('\n'):paragraph.runs[-1].text = paragraph.runs[-1].text.rstrip('\n')fill_run = paragraph.add_run(" " * fill_count) # 使用全角空格fill_run.font.underline = True# 恢复原有换行符(如果有)if len(lines) > 1:paragraph.add_run().add_break()# 保存文档doc.save(output_path)# 使用示例
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\工具运用'
input_path = path + r'\附件1工具运用训会议记录(2025.4.23).docx'
output_path = path + r'\附件1工具运用训会议记录(2025.4.23)_动态下划线.docx'
add_dynamic_underline(input_path, output_path, extra_length=z)
虽然打印时看不见,但我觉得右边距上一推灰点和回车,还是不好看,希望右边距上的点子不要出现。
第3问
计算一行可以有多少个字符
手动输入满一行
from docx import Documentdef count_width_per_line(doc_path):"""统计 Word 文档中每一行的宽度(中文=2,英文=1)"""doc = Document(doc_path)for i, paragraph in enumerate(doc.paragraphs, 1):if not paragraph.text.strip(): # 跳过空行continuelines = paragraph.text.split('\n') # 按换行符分割for j, line in enumerate(lines, 1):if not line.strip(): # 跳过空行continue# 计算宽度(中文=2,英文=1)width = sum(2 if ord(c) > 127 else 1 for c in line)print(f"第 {i} 段,第 {j} 行 | 宽度: {width} | 字符数: {len(line)} | 内容: '{line}'")print("\n统计完成!")# 使用示例
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\工具运用'
doc_path = path + r'\附件1工具运用训会议记录(2025.4.23).docx'
count_width_per_line(doc_path)
计算一行可以有多少个字符=69个
第4问:每段最后一行有有几个汉字,69减去最后一行的汉字的树数目就是添加额外的空格数量
把都是汉字字符,是双数字符,尝试把69改成70
正好,都显示满了
代码展示
'''
会议记录自动补全下划线根据字数添加补全剩余空格下划线
deepseek \阿夏
20250424
'''
from docx import Document# 每行标准宽度(中文=2,英文=1)
h = 70def add_dynamic_underline(doc_path, output_path):"""为Word文档每段添加实线下划线,动态计算每段行数并调整下划线长度并保持原有字体格式参数:doc_path (str): 输入文档路径output_path (str): 输出文档路径"""doc = Document(doc_path)for paragraph in doc.paragraphs:if paragraph.text.strip(): # 只处理非空段落# 获取段落的最后一行lines = paragraph.text.split('\n')last_line = lines[-1] if lines else ""# 计算最后一行的字符宽度(中文算2,英文算1)current_width = sum(2 if ord(c) > 127 else 1 for c in last_line)# 计算该段有多少行(向上取整)line_count = current_width // hif line_count <1:line_count = 1extra_length = h - current_width else:extra_length = h - (current_width - line_count*h)print(f"段落内容: '{last_line}'")print(f"当前宽度: {current_width},汉字和英文的字符长度:'{len(last_line)}', 每行宽度: {h}, 行数: {line_count}")print(f"额外下划线长度: {extra_length}\n")# print(f"当前宽度: {current_width}, 目标宽度: {target_length}, 需要填充空格数: {fill_count}\n")# 为原有内容添加实线下划线for run in paragraph.runs:run.font.underline = True # 设置为单实线# 仅在最后添加全角空格并带下划线if extra_length > 0:# 清除原有换行符(如果有)if paragraph.runs and paragraph.runs[-1].text.endswith('\n'):paragraph.runs[-1].text = paragraph.runs[-1].text.rstrip('\n')# 获取最后一个 run 的字体格式last_run = paragraph.runs[-1] if paragraph.runs else None# 添加空格,并复制原有格式fill_run = paragraph.add_run(" " * extra_length)if last_run: # 如果存在原有 run,则复制其字体格式fill_run.font.name = last_run.font.name # 字体fill_run.font.size = last_run.font.size # 字号fill_run.font.bold = last_run.font.bold # 加粗fill_run.font.italic = last_run.font.italic # 斜体fill_run.font.underline = True # 设置下划线# 恢复原有换行符(如果有)if len(lines) > 1:paragraph.add_run().add_break()# 保存文档doc.save(output_path)# 使用示例
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\工具运用'
input_path = path + r'\附件1工具运用训会议记录(2025.4.23).docx'
output_path = path + r'\附件1工具运用训会议记录(2025.4.23)_动态下划线.docx'
add_dynamic_underline(input_path, output_path)
测试效果
删除空行,然后把内容变成10-1000字的段落
ok,完美实现补全下划线的目标。
后续做成exe,GUI界面,选择文件夹,发给不同的课题组成员补会议记录用(贴完文字后,用Python自动添加一下每行最后空白的下划线)让做的资料的文本版式更好看,
相关文章:
【办公类-89-02】20250424会议记录模版WORD自动添加空格补全下划线
背景需求 4月23日听了一个MJB的征文培训,需要写会议记录 把资料黏贴到模版后,发现每行需要有画满下划线 原来做这套资料,就是手动按空格到一行末,有空格才会出现下划线,也就是要按很多的空格(凑满一行&…...
Python-36:饭馆菜品选择问题
问题描述 小C来到了一家饭馆,这里共有 nn 道菜,第 ii 道菜的价格为 a_i。其中一些菜中含有蘑菇,s_i 代表第 ii 道菜是否含有蘑菇。如果 s_i 1,那么第 ii 道菜含有蘑菇,否则没有。 小C希望点 kk 道菜,且希…...
某大型电解铝厂电解系统谐波治理装置改造沃伦森电气
电解铝行业谐波治理解决方案——无源滤波装置优化升级,保障稳定运行 在电解铝生产过程中,谐波污染问题严重影响电网电能质量,甚至可能导致滤波装置损坏,引发群爆事故。河南登封某大型电解铝厂通过无源滤波装置智能化改造ÿ…...
基于YOLO+DeepSeek的农作物病虫害检测系统
前言 本系统是一个基于YOLODeepSeek的农作物病虫害检测系统。 可使用YOLOV1-YOLOV12的任意模型进行目标检测。可以实现检测图片、批量检测图片、视频检测、摄像头检测四种方式。 能够检测出[“苹果-黑腐病”, “苹果-健康”, “苹果-结痂”, “甜椒-细菌性斑疹”, “甜椒-健康…...
Python实现技能记录系统
Python实现技能记录系统 来自网络,有改进。 技能记录系统界面如下: 具有保存图片和显示功能——允许用户选择图片保存,选择历史记录时若有图片可预览图片。 这个程序的数据保存在数据库skills2.db中,此数据库由用Python 自带的…...
【专题刷题】二分查找(一):深度解刨二分思想和二分模板
📝前言说明: 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;ÿ…...
基于Python+Flask的MCP SDK响应式文档展示系统设计与实现
以下是使用Python Flask HTML实现的MCP文档展示系统: # app.py from flask import Flask, render_templateapp Flask(__name__)app.route(/) def index():return render_template(index.html)app.route(/installation) def installation():return render_templa…...
Flask + ajax上传文件(一)
一、概述 本教程将教你如何使用Flask后端和AJAX前端实现文件上传功能,包含完整的代码实现和详细解释。 二、环境准备 1. 所需工具和库 Python 3.xFlask框架jQuery库Bootstrap(可选,用于美化界面)2. 安装Flask pip install flask三、项目结构 upload_project/ ├── a…...
【每天一个知识点】熵(Entropy)
“熵(Entropy)”是信息论、热力学、机器学习等多个领域的核心概念。它可以用一句话概括为: 🔑 熵表示系统的不确定性或信息混乱程度。 📚 一、信息论中的熵(Information Entropy) 在 Claude Sh…...
GIT 使用小记
全局设置 PS C:\workspace> git config --global user.name "FreeMan" PS C:\workspace> git config --global user.email "12323772wawhyuser.noreply.gitee.com" PS C:\workspace> git remote add origin https://gitee.com/wawhy/mountain.git…...
如何保证高防服务器中的系统安全?
对于高防服务器中的系统安全,企业通常会采取一系列的防护措施和策略防止网络攻击、入侵、恶意软件和其他网络安全威胁,下面是几个较为主要的安全防护措施,能够帮助企业提升高防服务器的安全性。 定期更新服务器中操作系统以及所有安装的软件&…...
【go语言】window环境从源码编译go
背景 早就听过go语言已经实现自举, 也就是使用旧版本go,来编译新版源码,得到新版本go。 步骤 1. 下载源码 git clone https://github.com/golang/go.git 2. 开始make cd go\src make.bat 3. 等待编译 卡住就按下回车 验证新版本 ……...
医学图像(DICOM数据)读取及显示(横断面、冠状面、矢状面、3D显示)为什么用ITK+VTK,单独用ITK或者VTK能实一样功能吗?
在医学图像处理中,结合使用 ITK 和 VTK 是常见的做法,因为它们各自专注于不同的核心功能。以下是逐步解释为何代码中同时使用两者,以及单独使用是否可行的分析: 1. 为什么用ITK处理DICOM数据? 1.1 ITK的DICOM处理优势…...
TiDB 深度解析与 K8S 实战指南
一、TiDB 核心特性与架构原理 1. 核心特性 分布式架构: 采用计算(TiDB Server)、存储(TiKV)、调度(PD)分离设计,支持水平扩展至 PB 级数据量。通过 PD 动态调度 Region(…...
WPS右键菜单中“上传到云文档”消失,使用命令行注册解决
关于上传到wps云文档,右键菜单莫名消失的问题 尝试在WPS设置显示上传到wps云文档的右键菜单,以及使用设置和修复工具修复,均无法显示菜单。 最终解决方法: regsvr32 "D:\Program Files (x86)\WPS Office\12.1.0.20784\offic…...
计算机求职面经内容与技巧分享
计算机求职面经内容与技巧分享 一、求职前的充分准备 (一)简历优化 突出技术能力:在简历中,务必清晰呈现自己精通的编程语言,例如熟练掌握 Java、Python 等语言的核心语法、常用库及框架。详细列举熟悉的技术栈&#x…...
java Springboot使用扣子Coze实现实时音频对话智能客服
一、背景 因公司业务需求,需要使用智能客服实时接听顾客电话。 现在已经完成的操作是,智能体已接入系统进行对练,所以本文章不写对联相关的功能。只有coze对接~ 扣子提供了试用Realtime WebSocket,点击右上角setting配…...
焦化烧结行业无功补偿解决方案—精准分组补偿 稳定电能质量沃伦森
在焦化、烧结等冶金行业,负荷运行呈现长时阶梯状变化,功率波动相对平缓,但对无功补偿的分组精度要求较高。传统固定电容器组补偿方式无法动态跟随负荷变化,导致功率因数不稳定,甚至可能因谐波放大影响电网安全。 行业…...
机器人项目管理新风口:如何高效推动智能机器人研发?
在2025年政府工作报告中,“智能机器人”首次被正式纳入国家发展战略关键词。从蛇年春晚的秧歌舞机器人惊艳亮相,到全球首个人形机器人马拉松的热议,智能机器人不仅成为科技前沿的焦点,也为产业升级注入了新动能。而在热潮背后&…...
ZooKeeper配置优化秘籍:核心参数说明与性能优化
#作者:张桐瑞 文章目录 tickTime:Client-Server通信心跳时间initLimit:Leader-Follower初始通信时限syncLimit:Leader-Follower同步通信时限dataDir:数据文件目录clientPort:客户端连接端口服务器名称与地…...
uniapp -- 实现微信小程序、app、H5端视频上传
布局及实现代码: <template><view class"flex flex-column p-4 grid-gap-4"><view class"flex flex-column grid-gap-4 bg-white p-4 rounded-4"><view class"font-weight-600">视频名称</view><i…...
2025年Redis分片存储性能优化指南
一、分片规则与负载均衡 动态哈希分片 采用CRC16算法计算键哈希值,通过hash_slot CRC16(key) % 16384确定槽位分布,结合Redis Cluster自动管理槽位迁移。 总分片数按需动态调整,例如从16节点扩容至32节点时,触发槽位重分配以…...
前端跨端框架的开发以及IOS和安卓的开发流程和打包上架的详细流程
以下是关于 前端跨端框架开发 以及 iOS/Android 原生开发流程与上架 的详细指南,涵盖技术选型、开发工具、打包发布全流程: 一、前端跨端开发框架对比与流程 主流跨端框架 框架技术栈性能接近原生生态成熟度适用场景React NativeJS/React80%⭐⭐⭐⭐⭐…...
项目《基于Linux下的mybash命令解释器》(二)
一、使用系统命令的完整代码 #include<stdio.h> #include<wait.h> #include<stdlib.h> #include<unistd.h> #include<assert.h> #include<string.h> #include<pwd.h>#define ARG_MAX 10//防止参数不够,可以做到一改全改…...
arm64适配系列文章-第十章-arm64环境上jenkins的部署
ARM64适配系列文章 第一章 arm64环境上kubesphere和k8s的部署 第二章 arm64环境上nfs-subdir-external-provisioner的部署 第三章 arm64环境上mariadb的部署 第四章 arm64环境上nacos的部署 第五章 arm64环境上redis的部署 第六章 arm64环境上rabbitmq-management的部署 第七章…...
PyTorch生成式人工智能实战(2)——PyTorch基础
PyTorch生成式人工智能实战(2)——PyTorch基础 0. 前言1. 创建 PyTorch 张量2. PyTorch 张量索引和切片3. PyTorch 张量形状4. 在 PyTorch 张量数学运算小结系列链接 0. 前言 为了训练生成式人工智能模型,我们可以使用多种数据格式ÿ…...
解决高德地图AMapUtilCoreApi、NetProxy类冲突
问题: Duplicate class com.amap.apis.utils.core.api.AMapUtilCoreApi found in modules jetified-3dmap-10.0.600 (com.amap.api:3dmap:10.0.600) and jetified-search-9.7.1 (com.amap.api:search:9.7.1) Duplicate class com.amap.apis.utils.core.api.NetProx…...
java—14 ZooKeeper
一、ZooKeeper简介 ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务 是一种复杂的过程,ZooKeeper通过简单的架构和API解决了这个问题。ZooKeeper运行开 发人员专注于核心应用程序逻辑,而不必担心应用程序的分…...
特征存储的好处:特征存储在机器学习开发中的优势
随着企业寻求提升机器学习生产力和运营能力 (MLOps),特征存储 (Feature Store) 的普及度正在迅速提升。随着 MLOps 技术的进步,特征存储正成为机器学习基础设施的重要组成部分,帮助企业提升模型的性能和解释能力,并加速新模型与生产环境的集成。这些存储充当集中式存储库,…...
【Promethus(普罗米修斯)介绍安装及使用】
一、系统介绍 1、什么是Prometheus? Prometheus:不仅是一款时间序列数据库,在整个生态上还是一套完整的监控系统。同时,还涉及许多以“explore”命名的客户端数据采集工具以及pushgateway网关。 官网:https://prometheus.io/ 文献:https://prometheus.io/docs/introdu…...
力扣热题100题解(c++)—矩阵
73.矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 int m matrix.size(); // 行数int n matrix[0].size(); // 列数bool firstRowZero false; // 标记第一行是否包含 0bool f…...
Spring Boot Controller 单元测试撰写
文章目录 引言标准用法必需依赖项核心注解说明代码示例 当涉及静态方法时的测试策略必需依赖项核心注解说明代码示例 引言 之前在编写 Controller 层的单元测试时,我一直使用 SpringBootTest 注解,但它会加载整个 Spring 应用上下文,资源开销…...
MVCC详解
目录 undo日志版本链 read view一致性视图 MVCC过程分析 读事务&写事务 Multi-Version Concurrency Control,多版本并发控制在读已提交和可重复读隔离级别下都实现了MVCC机制 undo日志版本链 一行数据被修改后,MySQL会保留修改前的数据(u…...
【通关函数的递归】--递归思想的形成与应用
目录 一.递归的概念与思想 1.定义 2.递归的思想 3.递归的限制条件 二.递归举例 1.求n的阶乘 2.顺序打印一个整数的每一位 三.递归与迭代 前言:上篇博文分享了扫雷游戏的实现,这篇文章将会继续分享函数的递归相关知识点,让大家了解并掌握递归的思…...
Python爬虫实战:移动端逆向工具Fiddler经典案例
一、引言 在移动互联网迅猛发展的当下,移动端应用产生了海量的数据。对于开发者而言,获取这些数据对于市场调研、竞品分析、数据挖掘等工作具有重要意义。Fiddler 作为一款功能强大的 Web 调试代理工具,能够有效捕获、分析和修改移动端的网络请求,为开发者深入了解移动端网…...
从平台工程视角出发,重塑云原生后端的工程体系
📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:从 DevOps 到平台工程,云原生后端的演进逻辑 云原生的广泛应用,使得后端系统的开发、部署与运维逐渐从“编写业务代码”演进为“构建工程平台”。过去,后端开发者通常将注意力集中于 API 编写…...
【Hive入门】Hive分区与分桶深度解析:优化查询性能的关键技术
引言 在大数据领域,Apache Hive作为构建在Hadoop之上的数据仓库工具,因其类SQL的查询语言(HiveQL)和良好的扩展性而广受欢迎。然而,随着数据量的增长,查询性能往往成为瓶颈。本文将深入探讨Hive中两种关键的数据组织技术——分区(…...
Pytorch中的Dataset和DataLoader
1. PyTorch数据处理的核心概念 在PyTorch中,数据处理主要依赖两个核心组件: torch.utils.data.Dataset:定义如何访问数据集(单个样本的数据和标签)。torch.utils.data.DataLoader:负责批量加载数据、打乱数据、并行加载等。1.1 为什么需要Dataset和DataLoader? 问题:深…...
中介者模式:解耦对象间复杂交互的设计模式
中介者模式:解耦对象间复杂交互的设计模式 一、模式核心:用中介者统一管理对象交互,避免两两直接依赖 当系统中多个对象之间存在复杂的网状交互时(如 GUI 界面中按钮、文本框、下拉框的联动),对象间直接调…...
IEEE综述 | 车道拓扑推理20年演进:从程序化建模到车载传感器
导读 车道拓扑推理对于高精建图和自动驾驶应用至关重要,从早期的程序化建模方法发展到基于车载传感器的方法,但是很少有工作对车道拓扑推理技术进行全面概述。为此,本文系统性地调研了车道拓扑推理技术,同时确定了未来研究的挑战和…...
手撕C++STL list:深入理解双向链表的实现
目录 1. 引言 3. list 类的实现 (1) 基本结构 (2) 初始化与清理 (3) 插入与删除 (4) 常用接口 (4) 常用接口 4. 测试代码 5. 总结 1. 引言 在C STL中,list是一个基于双向链表的容器,支持高效的头尾插入/删除操作(O(1)时间复杂度&…...
QMT学习课程Day1
我们先从交易的最基础,如何进行下单,最为简答的下单,帮助大家建立自信心。 首先导入相关函数: #encoding:gbk import pandas as pd import numpy as np import datetime import pandas as pd import numpy as np import talib i…...
【Rust结构体】Rust结构体详解:从基础到高级应用
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
Java面试实战:音视频场景下的微服务架构与缓存技术剖析
面试场景描述 谢飞机,一位自称“全栈工程师”的程序员,来到一家互联网大厂参加Java开发岗位的面试。面试官是一位严肃的技术专家,他希望通过一系列问题考察谢飞机的实际技术水平。 第一轮提问(基础问题) 面试官&…...
Vue 3 的核心组合式 API 函数及其完整示例、使用场景和总结表格
以下是 Vue 3 的核心组合式 API 函数及其完整示例、使用场景和总结表格: 1. ref 作用 创建一个响应式引用值,用于管理基本类型或单个值的响应式状态。 示例 <template><div><p>Count: {{ count }}</p><button click&quo…...
Kotlin学习基础知识大全(上)
文章目录 Kotlin基础知识全面解析第一章:Kotlin语言概述1.1 Kotlin的发展历程1.2 Kotlin的设计目标1.3 Kotlin的应用领域1.4 Kotlin与Java的比较 第二章:Kotlin基础语法2.1 变量与常量2.2 基本数据类型数字类型示例:字符和字符串示例…...
【Java面试笔记:进阶】18.什么情况下Java程序会产生死锁?如何定位、修复?
死锁(Deadlock)是指两个或多个线程因竞争资源而无限期阻塞的现象。 1. 死锁的定义与产生原因 定义:死锁是一种程序状态,多个线程或进程因循环依赖而永久处于等待状态,无法继续执行。 根据 Coffman 条件,死锁产生需同时满足以下四个必要条件: 互斥(Mutual Exclusion)…...
PS Mac Photoshop 2025 for Mac图像处理 PS 2025安装笔记
Mac分享吧 文章目录 效果一、准备工作二、开始安装1、Anticc简化版安装1.1双击运行软件,安装1.2 解决来源身份不明的开发者问题**此代码为打开:系统偏好设置 – 隐私与安全性,中的【任何来源】,如下图:**1.3 再次运行…...
HarmonyOS 框架基础知识
参考文档:HarmonyOS开发者文档 第三方库:OpenHarmony三方库中心仓 基础特性 Entry:关键装饰器 Components:组件 特性EntryComponent作用范围仅用于页面入口可定义任意可复用组件数量限制每个页面有且仅有一个无数量…...
LabVIEW实现Voronoi图绘制功能
该 LabVIEW 虚拟仪器(VI)借助 MathScript 节点,实现基于手机信号塔位置计算 Voronoi 图的功能。通过操作演示,能直观展示 Voronoi 图在空间划分上的应用。 各部分功能详细说明 随机地形创建部分 功能:根据 “Maximum a…...