自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DreamLife

繁星纵变,智慧永恒

  • 博客(632)
  • 资源 (59)
  • 收藏
  • 关注

原创 Qt 跨平台开发的一丢丢总结

最近一直在琢磨Qt跨平台开发的问题,缘由有以下几个,首先第一个,我们目前开发的软件是应该通用性的软件,所以未来应该大概率是会多平台支持。第二,软件的特性是属于监控类软件,那么长期稳定运行也是一个重要的指标,虽然现在Windows的稳定性已经很好了,但是Linux可以更胜一筹。第三,我司目前的主力技术更加精通Linux下的开发,当我们遇到问题是,他们在Windows下的经验不是很多,比如对于崩溃事件的定位,Windows下尝试了好几个工具都不理想,所以他们更希望有Linux下的软件

2024-04-22 23:17:01 394

原创 PLC_博图系列☞P_TRIG:扫描 RLO 的信号上升沿

可以使用“扫描 RLO 的信号上升沿”指令查询逻辑运算结果 (RLO) 的信号状态从“0”到“1”的变化。该指令将比较 RLO 的当前信号状态与保存在边沿存储位()中上一次查询的信号状态。如果该指令检测到 RLO 从“0”变为“1”,则说明出现了一个信号上升沿。

2024-04-22 22:51:23 345

原创 PLC_博图系列☞N=:在信号下降沿置位操作数

可以使用“在信号下降沿置位操作数”指令,在逻辑运算结果 (RLO) 从“1”变为“0”时置位指定操作数()。该指令将当前 RLO 与保存在边沿存储位中()上次查询的 RLO 进行比较。如果该指令检测到 RLO 从“1”变为“0”,则说明出现了一个信号下降沿。

2024-04-22 22:50:07 192

原创 PLC_博图系列☞P=:在信号上升沿置位操作数

可以使用“在信号上升沿置位操作数”指令,在逻辑运算结果 (RLO) 从“0”变为“1”时置位指定操作数()。该指令将当前 RLO 与保存在边沿存储位中()上次查询的 RLO 进行比较。如果该指令检测到 RLO 从“0”变为“1”,则说明出现了一个信号上升沿。

2024-03-29 22:39:43 550

原创 PLC_博图系列☞N:扫描操作数的信号下降沿

可以使用“扫描操作数的信号下降沿”指令,确定所指定操作数()的信号状态是否从“1”变为“0”。该指令将比较 的当前信号状态与上一次扫描的信号状态,上一次扫描的信号状态保存在边沿存储位()中。如果该指令检测到逻辑运算结果 (RLO) 从“1”变为“0”,则说明出现了一个下降沿。

2024-03-29 22:38:41 389

原创 PLC_博图系列☞P:扫描操作数的信号上升沿

可以使用“扫描操作数的信号上升沿”指令,确定所指定操作数()的信号状态是否从“0”变为“1”。该指令将比较 的当前信号状态与上一次扫描的信号状态,上一次扫描的信号状态保存在边沿存储位()中。如果该指令检测到逻辑运算结果 (RLO) 从“0”变为“1”,则说明出现了一个上升沿。

2024-03-25 22:40:50 600

原创 PLC_博图系列☞RS:复位/置位触发器

可以使用“复位置位触发器”指令,根据输入 R 和 S1 的信号状态,复位或置位指定操作数的位。如果输入 R 的信号状态为“1”,且输入 S1 的信号状态为“0”,则指定的操作数将复位为“0”。如果输入 R 的信号状态为“0”且输入 S1 的信号状态为“1”,则将指定的操作数置位为“1”。

2024-03-25 22:40:05 367

原创 PLC_博图系列☞基本指令“SR”置位复位触发器

可以使用“置位复位触发器”指令,根据输入 S 和 R1 的信号状态,置位或复位指定操作数的位。如果输入 S 的信号状态为“1”且输入 R1 的信号状态为“0”,则将指定的操作数置位为“1”。如果输入 S 的信号状态为“0”且输入 R1 的信号状态为“1”,则将指定的操作数复位为“0”。

2024-03-22 09:17:45 355

原创 Qt 利用共享内存实现一次只能启动一个程序(单实例运行)

为了确保Qt程序有且只有一个实例在运行,使用QSharedMemory类来检查是否已经有一个实例在运行。QSharedMemory是Qt中用于进程间共享内存的类,利用它在不同的程序实例之间共享一个小段内存。如果一个程序启动时发现这段共享内存已经被创建,那么它可以安全地假定已经有另一个实例在运行,并可以据此决定退出或采取其他措施

2024-03-22 09:16:00 572 2

原创 PLC_博图系列☞基本指令“RESET_BF”复位位域

可以使用“复位位域”(Reset bit field) 指令复位从某个特定地址开始的多个位。

2024-03-17 17:01:08 701

原创 PLC_博图系列☞基本指令“SET_BF”置位位域

使用“置位位域”(Set bit field) 指令,可对从某个特定地址开始的多个位进行置位。

2024-03-17 17:00:22 556

原创 PLC_博图系列☞基本指令“S”置位输出

可以使用“置位输出”指令将指定操作数的信号状态置位为“1”。

2024-02-27 22:19:07 504

原创 PLC_博图系列☞基本指令“R”复位输出

使用“复位输出”指令将指定操作数的信号状态复位为“0”。

2024-02-27 22:18:19 493

原创 PLC_博图系列☞基本指令“赋值取反”

“赋值取反”指令将逻辑运算结果 (RLO) 取反并将取反结果分配给功能框上方的操作数。 如果功能框输入的 RLO 为“1”,则二进制操作数将复位。 如果功能框输入的 RLO 为“0”,则操作数的信号状态将置位为“1”。

2024-02-23 22:36:59 319

原创 PLC_博图系列☞基本指令“赋值”

可以使用“赋值”指令来置位指定操作数的位。 如果该功能框输入逻辑运算结果 (RLO) 的信号状态为“1”,则指定操作数的信号状态将置位为“1”。 如果该功能框输入的信号状态为“0”,指定操作数的位将复位为“0”。

2024-02-23 22:35:31 407

原创 PLC_博图系列☞基本指令“取反RLO”

可以使用“取反 RLO”指令对逻辑运算结果 (RLO) 的信号状态进行取反。

2024-02-23 22:34:51 322

原创 PLC_博图系列☞基本指令“插入输入”

插入输入”指令用于将输入添加到以下某个指令的功能框中

2024-02-22 22:14:31 436

原创 PLC_博图系列☞基本指令“异或“运算

可以使用指令“异或”运算来根据异或运算真值表查询信号状态的结果。

2024-02-22 22:13:48 875

原创 PLC_博图系列☞基本指令“或”运算

可以使用指令“或”运算来查询两个或更多指定操作数的信号状态,并根据“或”运算的真值表评估这些信号状态。

2024-02-20 07:21:55 550

原创 PLC_博图系列☞基本指令&“与”运算

指令“与运算”可用于查询两个或更多指定操作数的信号状态,并根据“与运算”的真值表对这些信号状态进行评估。

2024-02-20 07:20:56 483

原创 PLC_博图系列☞SCL

SCL(Structured Control Language,结构化控制语言)是一种基于PASCAL的高级编程语言。这种语言基于标准DIN EN 61131-3(国际标准为IEC 1131-3)。SCL编程语言实现了该标准中定义的ST语言 (结构化文本) 的PLCopen初级水平。

2024-02-18 14:22:43 995

原创 PLC_博图系列☞STL

西门子PLC有三种编程语言:梯形图、STL、SCL。今天我们就来介绍一下STL编程语言,这种语言类似汇编语言是西门子一直以来的精华所在,它所能完成的功能内容基本为100%。STL强大的地方在于不仅可以随意处理梯形图中的各种逻辑关系,而且在运算以及指针等复杂的功能上有着梯形图无法做到的功能可谓得STL者得天下。

2024-02-18 14:20:24 633

原创 PLC_博图系列☞GRAPH

GRAPH 是一种创建顺序控制系统的图形编程语言。使用顺控程序,可以更为快速便捷和直观地对顺序进行编程。通过将过程分解为多个步,而且每个步都有明确的功能范围,然后再将这些步并组织到顺控程序中。在各个步中定义待执行的动作,以及步之间的转换条件。这些转换条件包括切换到下一步的条件。

2024-02-17 20:46:29 907

原创 PLC_博图系列☞LAD

梯形图语言是从常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点,电气技术人员容易接受,是目前运用上最多的一种plc的编程语言。

2024-02-17 20:45:37 572

原创 PLC_博图系列☞FBD

功能区块图(Function Block Diagram,简称FBD)是可用于可编程逻辑控制器(Programmable Logic Controller,简称PLC)设计的图形语言。它可以用函数的输入及输出来描述函数。函数是由许多基本模组集合而成,在图上会以一区块表示,各函数的输入及输出是由区块之间的连接线来连接。

2024-02-16 22:30:31 1154

原创 QtApplets-线程池

今天咱们稍微看下Qt的线程池。`QThreadPool`,浅浅搞一下。

2024-02-16 22:29:05 929

原创 PLC_博图系列☞参数实例

在PLC编程中,"参数实例"是一个重要的概念。它是指将函数块的实例作为输入输出参数 (InOut) 传送到另一数据块中。这个数据块可以访问已传送实例中的数据或调用关联函数块。

2024-02-14 22:51:21 1068

原创 PLC_博图系列☞多重实例

PLC 中的多重实例是一种在 FB 块中调用其他 FB 块的方式,它可以使被调用的 FB 块的背景数据块保存在当前 FB 块的静态变量中,而不是在系统块中生成单独的 DB 块。这样可以减少外部 DB 块的数量,方便数据管理和程序维护。

2024-02-14 22:49:58 600

原创 PLC_博图系列☞FB&FC

这是一篇关于PLC编程的文章,特别是关于西门子的博图软件。我并不是专业的PLC编程人员,也不懂电路,所以如果你希望从这里学习PLC编程技术,可能会有些失望。然而,因为工作需要,我开始了解PLC编程,特别是西门子的博图软件,并记录了这些经验。随着我国工业4.0的推进,相信会有更多的人从事类似的工作。如果这篇文章能对你有所帮助,欢迎和关注我❥(^_-)。

2024-02-14 22:47:27 1567

原创 Qt QPlainTextEdit高亮显示当前行

今天要在说一下GPT,当下如果你还不会用GPT,那得推荐你学习一下,这个东西可比百度好的的。如果没有GPT,那我今天分享的内容,还需要在手打一次了。因为我公司没有网,代码也没法直接复制粘贴出来。回到正题,今天我们需要 在中实现高亮当前行显示。

2024-01-28 17:50:45 540

原创 Qt 多进程编程-将子程序嵌入到主窗口

今天计划是稍微研究一下Qt的多进程编程,因为最近的程序感觉有点慢,还有一个严重的问题就是会触发Windows的GDI限制,所以计划把程序分成几个进程来搞,变相的提高程序的性能多多几个GDI。因为之前是搞过嵌入程序的,不过哪个是用的别人提供的SDK库,我只需要给他一个句柄来接他的UI即可,所以没有深入了解,今天需要我自己搭建一个框架出来。

2024-01-08 20:52:31 1427

原创 QtApplets-SystemInfo

​ 今天是2024年1月3日09:18:44,这也是2024年的第一篇博客,今天我们主要两件事,第一件,获取系统CPU使用率,第二件,获取系统内存使用情况。​ 这里因为写博客的这个本本的环境配置不是全的,没有VS编译套件,也没有对应的环境,我尝试在Windows下查找对应的pdh.lib没有找到,所以不能跑起来截图了,我今天分享的代码如果是基于Vs的编译环境,那可以直接跑起来,如果是基于mingW的环境,那需要手动指定一下pdh.lib的路径,并且吧dll拷贝到运行根目录。

2024-01-06 22:06:28 979 4

原创 Qt_一个由单例引发的崩溃

今天简直是令人心力交瘁的一天,在公司被一个顽固的Bug纠缠了整整一天。一开始,我对这个问题的认知并不深刻,只是觉得有点小瑕疵,于是比较轻松地着手解决。我开始摸索着定位问题,态度上也没太在意,毕竟在我看来,这只是一场小小的技术挑战。然而,随着时间的推移,我逐渐意识到问题的严重性。逐渐加深的烦躁和困扰让我开始感到不安。在一度对问题轻描淡写的态度下,我终于被迫正视这个Bug所可能引发的连锁反应。随着这个问题的逐渐显露出其庞大的影响,我仿佛看到了一个漩涡,正在悄然蔓延着,威胁着整个系统的稳定性。

2023-11-27 23:04:17 693 7

原创 059-第三代软件开发-巧用工控板LED指示灯引脚

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。

2023-11-26 22:28:06 581

原创 058-第三代软件开发-文件Model

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。

2023-11-26 22:26:56 471

原创 057-第三代软件开发-文件监视器

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。

2023-11-26 22:25:58 348

原创 056-第三代软件开发-软件打包

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。

2023-11-26 22:24:53 402

原创 055-第三代软件开发-控制台输出彩虹日志

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。

2023-11-19 19:14:40 477

原创 054-第三代软件开发-信号槽

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。

2023-11-19 19:13:13 130

原创 053-第三代软件开发-元对象系统

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。

2023-11-15 22:43:51 249

树莓派3B Qt 使用GIOP 18 控制继电器开关

树莓派3B Qt 使用GIOP 18 控制继电器开关

2022-03-15

DocBookDICOM2021d_release_pdf_20210910145551.zip

Dicom 3.0 标准文件,官网没有找到09的文件,暂时是缺失的

2021-09-25

#资源达人分享计划#医学图像编程技术.rar

医学图像编程技术 / 周振环,资源来自网络。

2021-08-03

Dcmtk3.6.6.rar

基于VS2017 X64 编译完成,可直接使用

2021-07-30

ITK5.2.0库文件.rar

基于itk 5.2.0源码编译的库文件

2021-07-20

MITK-2021.2-ep-src.rar

MITK2021.2编译自动下载文件包括ann_1.1.2.tar.gz、boost_1_74_0.tar.gz、cppunit-1.15.1.tar.gz、dcmtk-3.6.5.tar.gz、eigen-eigen-07105f7124f9.tar.bz2、gdcm-3.0.8.tar.gz、hdf5-1.8.17.tar.gz、InsightToolkit-4.13.3.tar.gz、poco-1.9.0.tar.gz、qwt-6.1.5.tar.bz2、tinyxml2-8.0.0.tar.gz、VTK-9.0.1.tar.gz。 使用方法,将每个单独的压缩包文件复制到编译目录下的ep/src下,不需要单独解压,VS会自动解压。

2021-07-17

VTK-8.2.0源码+可执行文件+VS2015编译工程.rar

Qt版本5.7.1 VS版本 2015 updata 3

2021-07-09

ST7701S_SPEC_ V1.2.rar

ST7701S_SPEC_ V1.2

2021-05-07

PicGO_MAC_Win_NodeJs.rar

图床工具 picGo 2.3.0 win+MAC+nodejs

2021-03-12

PowerControl(定时关机版).rar

这个版本的程序在原来的基础上,增加了定时关机功能 现在具备 一键关机 开机自启 定时关机功能

2021-02-23

Carmeter.rar

一个简单的汽车仪表模拟,欢迎小伙伴学习交流

2021-02-22

MCloudMusic.rar

模仿写的网易云界面(仅界面),练习使用QSS等,欢迎小伙伴一起学习交流

2021-02-22

PowerControl(开机自启版本).rar

在上一个版本中加入了开机自启动功能,程序第一次运行时使用管理权限运行,即可将自启信息写入注册表,同时修正了自启后找不到脚本文件问题

2021-02-22

网络关机助手源码.rar

使用UDP广播协议,目前支持一键关闭所有局域网内电脑,启动最小化的系统托盘,启动气泡提示

2021-02-17

网络关机助手.rar

使用UDP广播技术,实现局域网内电脑同时关机,只需要将该程序复制到需要关机的电脑上,手动设计开机启动即可

2021-02-17

Qt-for-GE5565-Demo.rar

本Demo实现了通过Qt调用Ge开发库,实现了基本的打开 读写 关闭操作,没有太多的技术含量,仅仅是一个Demo,测试你Ge开发库在Qt下的使用。

2020-08-05

华硕-枪神2-plus灯光软件.rar

这个压缩包里面共有五个文件,在安装的时候请一定按照我标号的顺序安装,才可以正确,完了起动灯光控制软件就可以完成对系统灯光的控制了

2020-03-02

UareUWin300_20170223.1115.zip

美国原装进口U.are.U4500URU45005000B指纹仪 SDK,哈哈,设备自带开发套件,欢迎大家下载测试,1分辛苦分

2020-03-02

序列号生成器初级代码

这个项目是用来读取电脑硬件并生成序列号,好多目前只实现了这一个功能,后期会添加更过功能,主要用到了Qt的MD5

2017-12-06

QML-自定义ComboBox

这里实现了一个多功能的ComboBox,具体实现内容可以看我博客http://blog.csdn.net/z609932088/article/details/73196172

2017-06-13

虚拟串口VSPD-V11.0.1047.0.exe

虚拟串口VSPD-V11.0.1047.0.exe

2024-03-29

Qt Qml webview 打开本地PDF

Qt Qml webview 打开本地PDF

2023-08-05

Qt Qwidget 屏幕键盘

一个基于Qt 事件的屏幕键盘,可用

2023-07-22

ubuntu22.04 root 启动音频服务

这个服务可以让我们在root 下启动音频服务,解决程序以管理员权限运行时无法播放声音

2023-05-24

QtApplets-QTextToSpeechDemo

https://dreamlife.blog.csdn.net/article/details/127532552

2022-10-26

QtApplets-MyHook-键盘钩子

https://dreamlife.blog.csdn.net/article/details/123084722

2022-10-26

QtApplets-MyLog日志工程

https://dreamlife.blog.csdn.net/article/details/122622671

2022-10-26

QtApplets-Log4QtDemo-工程

https://dreamlife.blog.csdn.net/article/details/122556465

2022-10-26

QtApplets-QSignalMapper使用

https://dreamlife.blog.csdn.net/article/details/122062277

2022-10-26

QtApplets-Q-ASSERT使用

https://dreamlife.blog.csdn.net/article/details/121316795

2022-10-26

QtApplets-国际化多语言设置

https://dreamlife.blog.csdn.net/article/details/121216479

2022-10-26

QtApplets-实时读取配置文件

https://dreamlife.blog.csdn.net/article/details/121215034

2022-10-26

QtApplets-自定义控件系列代码

博客地址:https://blog.csdn.net/z609932088/article/details/121167969?spm=1001.2014.3001.5501

2022-10-26

QtApplets-获取当前进程用户名

QtApplets-获取当前进程用户名 https://dreamlife.blog.csdn.net/article/details/120988990

2022-10-26

QtApplets-监听指定进程并获得其用户名

https://dreamlife.blog.csdn.net/article/details/120988074

2022-10-26

Debian 10 下 Qt 5.12.3 使用libusb 1.0.26源码工程示例

Debian 10 下 Qt 5.12.3 使用libusb 1.0.26源码工程示例 在源码移植过程中,注释掉部分功能,如下 注释掉了一个线程等待函数 注释掉了部分获取系统时间函数, 注释掉了部分断言宏 目前以编译通过,且测试 libusb_init(NULL)没有问题

2022-10-20

Debian 10 下 Qt 5.12.3 使用libusb 1.0.9源码工程示例

Debian 10 下 Qt 5.12.3 使用libusb 1.0.9源码工程示例 这个版本测试了仅移植libusb,编译通过,在Demo中测试了libusb_init(NULL),在项目测试了初始化 中断传输和批量传输

2022-10-20

GLUT3.7 源码+预编译libdll文件 分流

GLUT3.7 源码+预编译libdll文件 分流

2022-04-08

QCustomPlot 官方库 CSDN分流

QCustomPlot 官方库 CSDN分流

2022-04-07

dbghelp lib库和dll库

dbghelp lib库和dll库。解决Qt编译报错"error: undefined reference to `MiniDumpWriteDump'"

2022-03-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除